[sisyphus] Oracle 10g на ALT Linux Server 4.0

Igor Muratov =?iso-8859-1?q?migor_=CE=C1_altlinux=2Eorg?=
Пт Июл 27 22:38:17 MSD 2007


Igor Muratov пишет:
> Приветствую всех
>
> Еще раз хочу поднять проблему оракла в наших дистрибутивах. Прежде всего
> потому, что вот здесь
>    http://www.altlinux.ru/enterprise/alt_linux_4.0_server.html
> написано что все протестировано и проблем нет. Хотелось бы знать кто
> тестировал и кто считает что все с ораклом замечательно.
>
> Я попробовал установить оракл и в итоге нашел 5 точек в которых сборка
> оракла не получается. К сожалению я не силен в работе gcc и поэтому
> затрудняюсь сказать почему такое происходит.
>
> Исходные данные - дистрибутив Server 4.0.1 с пакетом
> oracle-preinstall-0.4-alt4. Оракл ставится с настройками по умолчанию.
> При возникновении ошибки компиляции просто игнорирую и иду дальше. После
> этого уже в шеле пытаюсь пофиксить эти места в ручную.
>   
Часть проблем я пофиксил. 4 места из 5 уже линкуются без ошибок.

Прикладывает такой вот тупой патчик:
-------->8======
--- rdbms/lib/env_rdbms.mk~     2005-06-28 08:32:04 -0500
+++ rdbms/lib/env_rdbms.mk      2007-07-27 13:10:20 -0500
@@ -202,7 +202,7 @@
 GROUP=/etc/group

 LDFLAGS=-o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)
$(LDPATHFLAG)$(LIBHOME)stubs/ -L$(COMPDIR)/lib -lirc
-LINK=$(PURECMDS) gcc $(LDFLAGS) $(COMPSOBJS)
+LINK=$(PURECMDS) gcc -Wl,--no-as-needed $(LDFLAGS) $(COMPSOBJS)

 LLIBTHREAD=

@@ -2562,7 +2562,7 @@

 O2STATIC=$(CC) $(ORALIBPATH) -o $(EXE) $(OBJS) $(STATIC_LDCLIENTLIBS)

-ORACLE_LINKER=$(ADE_DEL_FILE_CMD) $(PURECMDS) gcc $(OLAPPRELINKOPTS)
$(LDFLAGS) $(COMPSOBJS)
+ORACLE_LINKER=$(ADE_DEL_FILE_CMD) $(PURECMDS) gcc -Wl,--no-as-needed
$(OLAPPRELINKOPTS) $(LDFLAGS) $(COMPSOBJS)

 CONFIG_COMPILE_LINE=$(CC) -c config.c

--- srvm/lib/env_srvm.mk~       2005-06-22 00:22:52 -0500
+++ srvm/lib/env_srvm.mk        2007-07-27 13:15:21 -0500
@@ -202,7 +202,7 @@
 GROUP=/etc/group

 LDFLAGS=-o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)
$(LDPATHFLAG)$(LIBHOME)stubs/ -L$(COMPDIR)/lib -lirc
-LINK=$(PURECMDS) gcc $(LDFLAGS) $(COMPSOBJS)
+LINK=$(PURECMDS) gcc -Wl,--no-as-needed $(LDFLAGS) $(COMPSOBJS)

 LLIBTHREAD=

--- crs/lib/env_has.mk~ 2005-06-22 00:22:52 -0500
+++ crs/lib/env_has.mk  2007-07-27 13:16:55 -0500
@@ -202,7 +202,7 @@
 GROUP=/etc/group

 LDFLAGS=-o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)
$(LDPATHFLAG)$(LIBHOME)stubs/ -L$(COMPDIR)/lib -lirc
-LINK=$(PURECMDS) gcc $(LDFLAGS) $(COMPSOBJS)
+LINK=$(PURECMDS) gcc -Wl,--no-as-needed $(LDFLAGS) $(COMPSOBJS)

 LLIBTHREAD=

--- network/lib/env_network.mk~ 2005-06-22 04:03:18 -0500
+++ network/lib/env_network.mk  2007-07-27 13:19:08 -0500
@@ -202,7 +202,7 @@
 GROUP=/etc/group

 LDFLAGS=-o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME)
$(LDPATHFLAG)$(LIBHOME)stubs/ -L$(COMPDIR)/lib -lirc
-LINK=$(PURECMDS) gcc $(LDFLAGS) $(COMPSOBJS)
+LINK=$(PURECMDS) gcc -Wl,--no-as-needed $(LDFLAGS) $(COMPSOBJS)

 LLIBTHREAD=

======8<--------

После этого делаете
$ cd $ORACLE_HOME/rdbms/lib; make -f ins_rdbms.mk ioracle
$ cd $ORACLE_HOME/srvm/lib; make -f ins_srvm.mk install
$ cd $ORACLE_HOME/racg/lib; make -f ins_has.mk racg_install
$ cd $ORACLE_HOME/network/lib; make -f ins_net_server.mk install

С этим разобрались. Но вот это пока выдает гигантскую простыню ошибок
экранов на 50.
$ cd $ORACLE_HOME/rdbms/lib; make -f ins_rdbms.mk all_no_orcl ihsodbc

Прошелся по всем файлам *.mk и заменил  "gcc" на "gcc
-Wl,--no-as-needed" но это не помогло.

-- 
With best regards
Igor Muratov




Подробная информация о списке рассылки Sisyphus