64-битные и 32-битные инструменты работают в одной среде

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

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

0

Решение

В сценарии перед вызовом 64-битных инструментов установите для LD_LIBRARY_PATH значение 64-bit * .so.

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

Для получения дополнительной информации см. Это Как общие библиотеки работают в смешанной 64-битной / 32-битной системе?

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]