Пути поиска файлов общих объектов

Какова последовательность путей, которые ищутся для загрузки файла общего объекта?

Я пытаюсь запустить исполняемый файл, который пытается загрузить общий объектный файл. Общий объектный файл можно найти по адресу /usr/lib/x86_64-linux-gnu/,

У меня есть два пользователя, давайте назовем их user1 а также user2, user1 может запустить исполняемый файл, но user2 обнаруживает ошибку: не удается открыть файл общего объекта: libicuuc.so

У обоих пользователей одинаковые LD_LIBRARY_PATH, Что такое мизинг?

1 ответ

Решение

man 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. Пример:

ldd /bin/echo
        linux-vdso.so.1 =>  (0x00007ffc2277a000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003edc200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003edbe00000)
Другие вопросы по тегам