Назад | Перейти на главную страницу

Как изменить каталог библиотеки по умолчанию для gcc или добавить другой путь?

Связанная тема Вот

Пытался связать некоторые файлы с / lib вот так

[/opt/lib] # ln -s libncurses.so.5.7 /lib/
[/opt/lib] # ln -s libncursesw.so.5.7 /lib/

Компилятор по-прежнему не может найти библиотеки ncurses ...

Пытаюсь скомпилировать menuconfig в исходниках psybnc. Где эти автоинструменты, ищущие библиотеки? Как отлаживать автоматические инструменты, или просто скажите мне, как добавить другой путь к библиотеке, потому что нужно использовать / opt / lib вместо / lib или любого другого места, где ищут автоматические инструменты.

p.s. это не работает

[/share/HDA_DATA/Linux/psybnc] # export LD_LIBRARY_PATH="/opt/lib:$LD_LIBRARY_PATH"         
[/share/HDA_DATA/Linux/psybnc] # make menuconfig
Initializing Menu-Configuration
[*] Running Conversion Tool for older psyBNC Data.
Using existent configuration File.
[*] Running Autoconfig.
System: Linux
Socket Libs: Internal.
Environment: Internal.
Time-Headers: in time.h and sys/time.h
Byte order: Big Endian.
IPv6-Support: Yes, general support. But no interface configured.
async-DNS-Support: Yes.
SSL-Support: No openssl found. Get openssl at www.openssl.org
Creating Makefile
[*] Creating Menu, please wait.
This needs the ncurses library. If it is not available, menuconf wont work. If you are using curses, use make menuconfig-curses instead.

[/share/HDA_DATA/Linux/psybnc] # ls /opt/lib | grep libncurses
libncurses.so@
libncurses.so.5@
libncurses.so.5.7*
libncursesw.so@
libncursesw.so.5@
libncursesw.so.5.7*

ОБНОВИТЬ:

эта тема помечена для удаления, ответ опубликован в связанной теме, о которой я упоминал выше

Попробуйте установить LD_LIBRARY_PATH перед компиляцией в типе консоли bash:

export LD_LIBRARY_PATH="your_new_lib_path"

или, чтобы сохранить предыдущие настройки и просто добавить новый путь к библиотеке:

export LD_LIBRARY_PATH="your_new_lib_path:$LD_LIBRARY_PATH"

LIBRARY_PATH - это переменная среды, которую GCC использует при поиске библиотек для компоновки. Напротив, LD_LIBRARY_PATH, ошибочно предложенный в другом ответе, используется динамическим компоновщиком - тем, который загружает разделяемые библиотеки для уже скомпилированного двоичного файла при запуске, - а не компоновщиком, который вызывает GCC. Ключевым отличием является «динамический компоновщик» (например, /lib64/ld-linux-x86-64.so.2) по сравнению с просто "компоновщиком" (например, /usr/bin/ld).