1

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

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

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

Оба пользователя имеют одинаковый LD_LIBRARY_PATH . Что такое мизинг?

1 ответ1

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)

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