1

Я пытаюсь настроить 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 существует и работает очень хорошо. Я также попытался скопировать библиотеку в папку 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 ответа2

3

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

1

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

sudo pacman -S multilib-devel
sudo pacman -S lib32-libxpm

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