Ошибка при загрузке общих библиотек - 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