Книга: Программирование для Linux. Профессиональный подход
Переменная LD_LIBRARY_PATH
Переменная LD_LIBRARY_PATH
Когда к программе подключается совместно используемая библиотека, компоновщик помещает в исполняемый файл ссылку на нее, но в этой ссылке указан не полный путь к библиотеке, а только имя файла. При запуске программы система сама находит библиотеку и загружает ее. По умолчанию система просматривает лишь каталоги /lib
и /usr/lib
. Если библиотека находится в другом каталоге, она не будет найдена и система откажется загружать программу.
Одно из решений заключается в компоновке программы с указанием флага -Wl,-rpath
:
% gcc -о app арр.о -L. -ltest -Wl,-rpath,/usr/local/lib
Теперь в случае запуска программы app
система будет искать требуемые библиотеки также в каталоге /usr/local/lib
.
Но есть и другое решение: устанавливать переменную LD_LIBRARY_PATH
при запуске программы. Подобно переменной среды PATH
, переменная LD_LIBRARY_PATH
представляет собой разделенный двоеточиями список каталогов. Если, к примеру, она равна /usr/local/lib:/opt/lib
, то каталоги /usr/local/lib
и /opt/lib
будут просматриваться перед стандартными каталогами /lib
и /usr/lib
. Необходимо также учитывать, что при наличии данной переменной компоновщик будет просматривать заданные в ней каталоги, обнаруживая опцию -L
в командной строке.[9]
- Переменная jiffies
- Использование переменной окружения ISC_PATH
- Пример 9-8. Содержимое $* и $@, когда переменная $IFS -- пуста
- 4.3.7 Miscellaneous Library
- Разбор XPath-выражений
- 4.3.6 ANSI C Library
- Configure Commands Directed Toward the cdpath
- The Standard Library and the Vaults of Parnassus
- 15.1.3. XPath и другие интерфейсы
- 15.3.1. Shared Library Events in GDB
- 4.3 mikroC Library Functions
- 4.3.1 EEPROM Library