2013-11-19 1 views
0

У меня есть скрипт (bash), который вызывает 6 инструментов, 4 из которых 32 бит скомпилированы и 2 из них скомпилированы 64 бит. один 32-битный и один 64-разрядный - это инструменты, зависящие от оракула. Поскольку зависимые от Oracle инструменты зависят от динамических библиотек (.so-файлов), я получаю Errors как * .so не найден для одного из инструментов (либо 32-битного, либо 64-битного, что я установил в ORACLE_HOME, я думаю).
Может кто-нибудь, пожалуйста, дайте предложение, как справиться с этой ситуацией?64-разрядные и 32-разрядные инструменты запускаются в одной среде

Заранее спасибо

ответ

1

В сценарии, перед вызовом 64-разрядный набором LD_LIBRARY_PATH до 64-бита * .so.

В соответствии с моим пониманием исполняемый файл будет принимать правильные * .so, если в LD_LIBRARY_PATH есть как 32-разрядные, так и 64-разрядные * .so, поскольку загрузчики знают, что игнорируют библиотеки неправильной архитектуры.

Для получения дополнительной информации см How do shared libraries work in a mixed 64bit/32bit system?

сему
+0

Спасибо вам, ссылка может быть очень полезной. –

Смежные вопросы