Ошибка при загрузке общих библиотек - libwebsock

Я пытаюсь настроить libwebsock, простую библиотеку C websocket. Я следовал процедуре установки из файла INSTALL, все прошло нормально. Я могу составить тестовую программу, приведенную в примерах. Но когда я хочу запустить свой исполняемый файл, появляется дикая ошибка:

./echo: error while loading shared libraries: libwebsock.so.1: cannot open shared object file: No such file or directory

Я дважды проверил / usr / local / lib, libwebsock.so.1 существует и работает очень хорошо. Я также попытался скопировать lib в папку echo (так, чтобы она находилась рядом с двоичным файлом), все еще та же ошибка. Это довольно забавно для меня:

shadowz@Ubu:~/WebSocket$ ls
echo echo.c echo.cpp libwebsock.so.1
shadowz@Ubu:~/WebSocket$ ./echo
./echo: error while loading shared libraries: libwebsock.so.1: cannot open shared object file: No such file or directory

Какие-либо предложения? У меня заканчиваются идеи...

2 ответа

Решение

Попробуйте запустить ldconfig вручную (как root), если он не был запущен во время установки библиотек. Общий компоновщик использует кэш для поиска общих библиотек, и ldconfig необходимо обновить его.

У меня была похожая проблема, но для другого приложения (Tecplot 2008) и libXpm.so.4 отсутствовал, хотя libxpm, казалось, был установлен. Оказывается, я использовал 64-битную ОС, а приложение искало 32-битные библиотеки. Я использую Manjaro (на основе Arch Linux) и поэтому установил следующее:

sudo pacman -S multilib-devel
sudo pacman -S lib32-libxpm
Другие вопросы по тегам