Ошибка Linux при загрузке общих библиотек: невозможно открыть файл общего объекта: нет такого файла или каталога - PullRequest
285 голосов
/ 26 января 2009

Программа является частью набора тестов Xenomai, кросс-компилируется из ПК с Linux в набор инструментов Linux + Xenomai ARM.

# echo $LD_LIBRARY_PATH                                                                                                                                          
/lib                                                                                                                                                             
# ls /lib                                                                                                                                                        
ld-2.3.3.so         libdl-2.3.3.so      libpthread-0.10.so                                                                                                       
ld-linux.so.2       libdl.so.2          libpthread.so.0                                                                                                          
libc-2.3.3.so       libgcc_s.so         libpthread_rt.so                                                                                                         
libc.so.6           libgcc_s.so.1       libstdc++.so.6                                                                                                           
libcrypt-2.3.3.so   libm-2.3.3.so       libstdc++.so.6.0.9                                                                                                       
libcrypt.so.1       libm.so.6                                                                                                                                    
# ./clocktest                                                                                                                                                    
./clocktest: error while loading shared libraries: libpthread_rt.so.1: cannot open shared object file: No such file or directory                                 

Редактировать: ОК. Я не заметил, что .1 в конце был частью имени файла. Что это значит в любом случае?

Ответы [ 17 ]

3 голосов
/ 31 октября 2017

У меня была эта ошибка при запуске моего приложения с Eclipse CDT в Linux x86.
Чтобы это исправить:

  1. В Eclipse:

    Запуск от имени -> Запуск конфигураций -> Среда

  2. Установить путь

    LD_LIBRARY_PATH=/my_lib_directory_path
    
2 голосов
/ 07 января 2014

попробуйте установить sudo lib32z1

sudo apt-get install lib32z1

2 голосов
/ 16 марта 2015

Все, что мне нужно было сделать, это запустить:

sudo apt-get install libfontconfig1

Я был в папке, расположенной в /usr/lib/x86_64-linux-gnu, и она отлично работала.

2 голосов
/ 27 февраля 2016

Если вы запускаете приложение в Microsoft Windows, путь к динамическим библиотекам (.dll) должен быть определен в переменной среды PATH.

Если вы запускаете приложение в UNIX, путь к динамическим библиотекам (.so) должен быть определен в переменной среды LD_LIBRARY_PATH.

1 голос
/ 04 ноября 2015

Ошибка возникает из-за того, что система не может сослаться на упомянутый файл библиотеки. Сделайте следующие шаги:

  1. Запуск locate libpthread_rt.so.1 покажет путь ко всем файлам с таким именем. Давайте предположим, что путь равен /home/user/loc.
  2. Скопируйте путь и запустите cd home/USERNAME. Замените USERNAME на имя текущего активного пользователя, с которым вы хотите запустить файл.
  3. Выполните vi .bash_profile и в конце параметра LD_LIBRARY_PATH, перед ., добавьте строку /lib://home/usr/loc:.. Сохраните файл.
  4. Закройте терминал и перезапустите приложение. Это должно бежать.
0 голосов
/ 19 июня 2018

Я получил эту ошибку, и я думаю, что это та же самая причина, по которой вы

ошибка при загрузке общих библиотек: libnw.so: невозможно открыть общие объектный файл: нет такого файла или каталога

Попробуй это. Исправить права доступа к файлам:

cd /opt/Popcorn (or wherever it is) 
chmod -R 555 * (755 if not ok) 
0 голосов
/ 07 апреля 2018

Я получил эту ошибку, и я думаю, что это та же самая причина, по которой вы

error while loading shared libraries: libnw.so: cannot open shared object 
file: No such file or directory

Попробуй это. Исправить права доступа для файлов:

cd /opt/Popcorn (or wherever it is) 
chmod -R 555 * (755 if not ok) 
chown -R root:root *

«sudo su», чтобы получить разрешения для вашей файловой системы.

...