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

Gennadiy Redko =?iso-8859-1?q?uit1_=CE=C1_zaz=2Ezp=2Eua?=
Чт Июл 26 17:10:57 MSD 2007


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 дистрибутивов.



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