.png)
Какова последовательность путей, которые просматриваются при загрузке файла общего объекта?
Я пытаюсь запустить исполняемый файл, который пытается загрузить файл общего объекта. Файл общего объекта можно найти по адресу /usr/lib/x86_64-linux-gnu/
.
У меня есть два пользователя, назовем их user1
и user2
. user1
Могу запустить исполняемый файл, но user2
возникает ошибка: невозможно открыть файл общего объекта: libicuuc.so
У обоих пользователей одинаковый LD_LIBRARY_PATH
. Чего не хватает?
решение1
человек ldconfigможет помочь вам
/etc/ld.so.cache File containing an ordered list of libraries found
in the directories specified in /etc/ld.so.conf, as
well as those found in /lib and /usr/lib.
но ваш дистрибутив может содержать иную информацию, чем моя, поэтому вам следует прочитать свой.
Другой способ решить, какие библиотеки привязаны к вашему исполняемому файлу, — это использоватьлддпрограмма Пример:
ldd /bin/echo
linux-vdso.so.1 => (0x00007ffc2277a000)
libc.so.6 => /lib64/libc.so.6 (0x0000003edc200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003edbe00000)