1

На моей машине с UNIX я заметил, что двоичные файлы ищут зависимые общие библиотеки в каталоге /lib по умолчанию, хотя каталог /lib не настроен в PATH и LD_LIBRARY_PATH .

Ниже показано, что библиотека ' libssl.so.4 ' находится в каталоге /lib .

bash-3.00$ ldd openssl
        /lib/libcwait.so (0x00f86000)
        libssl.so.4 => /lib/libssl.so.4 (0x00408000)

Мои 'PATH' и 'LD_LIBRARY_PATH' находятся ниже:

bash-3.00$ echo $LD_LIBRARY_PATH
:/opt/oracle/product/11.2.0/client32/lib:

bash-3.00$ echo $PATH
/opt/pure/releases/purify.hp.2003a.06.15.FixPack.0214/cache/opt/star-ncf-prod/ep_patch/usr/lib:/usr/ccs/bin:/usr/bin:/usr/ucb:/etc:/bin:.:/opt/ccm71/bin:/opt/oracle/product/11.2.0/client32/bin:/opt/tools/bin:/usr/local/bin

Пожалуйста, дайте mw знать, если бинарные файлы ссылаются на каталог /lib по умолчанию?

1 ответ1

1

Библиотеки (в ОС Linux) ищут по путям из /etc/ld.so.conf (не из $ PATH). После изменения этого файла вы должны запустить:

sudo ldconfig

Вы можете увидеть пути поиска библиотеки по команде:

ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012

Пути по умолчанию: в пути по умолчанию /lib , а затем /usr/lib . Загрузчик Linux и как он находит библиотеки .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .