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

Aleksey Novodvorsky =?iso-8859-1?q?a=2Ee=2Envdv_=CE=C1_gmail=2Ecom?=
Чт Июл 26 17:56:01 MSD 2007


On 7/26/07, Gennadiy Redko <uit1 на zaz.zp.ua> wrote:
> Aleksey Novodvorsky пишет:
> > On 7/26/07, Gennadiy Redko <uit1 на zaz.zp.ua> wrote:
> >> Damir Shayhutdinov пишет:
> >>>>>> Не находит объекты из библиотек libskgns.so и libsrvmhas10.so. Оба файла
> >>>>>> присутствуют в $ORACLE_HOME/lib. Причем если определить переменную
> >>>>>> USRLIBS="-lskgxns" то объекты этой библиотеки находятся, но вот с prsr_*
> >>>>>> из libsrvmhas10.so такое не прокатывает. Не могу понять в чем у них
> >>>>>> разница.
> >>> Очевидно, что дело все в --as-needed (Известная фича Сизифа и всего 4.0).
> >>>
> >>>>>> Единственный способ который помог, так это дописать "-lskgxns
> >>>>>> -lsrvmhas10" в файл $ORACLE_HOME/lib/ldflags. К сожалению через
> >>>>>> переменную передать эти параметры мне так и не удалось.
> >>>>>>
> >>>>> Попробуйте такой вариант:
> >>>>>
> >>>>> USRLIBS="-L$ORACLE_HOME/lib -lskgxns -lsrvmhas10"
> >>>>>
> >>>>>
> >>>> Ну если бы небыло этого -L то и skgxns не находилась. Тем не менее... на
> >>>> всякий случай попробовал. Вот результат. То что было в USRLIBS
> >>>> добавляется в конец этой гигантской строки.
> >>>>
> >>>>
> >>>> [oracle на clash lib]$ USRLIBS="-L$ORACLE_HOME/lib -lskgxns -lsrvmhas10"
> >>>> make -f ins_rdbms.mk ioracle
> >>>> chmod 755 /opt/oracle/product/10g/bin
> >>>>
> >>>>  - Linking Oracle
> >>>> rm -f /opt/oracle/product/10g/rdbms/lib/oracle
> >>>> gcc  -o /opt/oracle/product/10g/rdbms/lib/oracle
> >>> !!! Внимание: линкуется исполняемый файл под названием oracle !!!
> >>>
> >>>> -L/opt/oracle/product/10g/rdbms/lib/ -L/opt/oracle/product/10g/lib/
> >>> [покусано непринципиальной мешанины символов]
> >>>> -Wl,-rpath,/opt/oracle/product/10g/lib -lm -L/opt/oracle/product/10g/lib
> >>>> -lskgxns -lsrvmhas10   `cat /opt/oracle/product/10g/lib/sysliblist` -ldl
> >>>> -lm -L/opt/oracle/product/10g/lib -lskgxns -lsrvmhas10
> >>>> -L/opt/oracle/product/10g/lib
> >>>> /opt/oracle/product/10g/lib//libcore10.a(lcd.o): In function `lcdprm':
> >>>> lcd.c:(.text+0x8e8): warning: the `gets' function is dangerous and
> >>>> should not be used.
> >>>> /opt/oracle/product/10g/lib//libclsra10.so: undefined reference to
> >>>> `prsr_release_asm_config'
> >>> !!! Внимание - символов не хватает у объекта libclsra10.so !!!
> >>> А это не тот объект, который сейчас линкуется. Типичная проблема
> >>> --as-needed. Товарищи Оракловцы ниасилили обеспечить правильный
> >>> порядок линковки.
> >>>
> >>>
> >>> Решение 1: каким-либо образом прописать в LDFLAGS флаг -Wl,--no-as-needed
> >>>
> >>> Например, в $ORACLE_HOME/lib/ldflags.
> >>>
> >>> Решение 2(невероятной сложности): исправить их Makefile и положить
> >>> куда-нибудь, чтобы все могли пользоваться.
> >> Напишите в их рассылку.
> >> Я думаю, что Вам будут только благодарны.
> > Нет, увы.
> >
> >
> >> Можно и sr заполнить, но тогда проблему нужно воспроизвести на
> >> каком-то из поддерживаемых Oracle дистрибутивов.
> >
> > У них нет as-needed. Пока.
> >
> > Так что это наша и только наша проблема.
> >
> А Вы планируете включать поддержку Oracle в свой Server?

Server вышел. Мы выпустим разъяснение о том, как запускать Oracle на нем.
Сейчас мы проходим сертификацию на совместмость с DB2.
Rgrds, Алексей


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