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

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

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

Я пытаюсь запустить исполняемый файл, который пытается загрузить файл общего объекта. Файл общего объекта можно найти по адресу /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)

Связанный контент