нужна помощь с установкой общих библиотек на Linux - PullRequest
1 голос
/ 01 апреля 2010

Я новичок в Linux и пытаюсь заставить сервер движка Ajax Push работать на Ubuntu 9.04. Я установил сервер из исходного кода, он не проходит проверку, используя собственный Javascript Framework.

Проблема в том, что он не может загрузить модули и вывод, который я получаю в терминале при запуске.

[Модуль] Не удалось загрузить ../modules/lib/libmod_spidermonkey.so [Неверная библиотека] (libmysac.so.0.0: невозможно открыть общий объектный файл: нет такой файл или каталог)

Я подумал, что должен был установить mysac lib как общую библиотеку, поэтому после некоторого поиска я скопировал libmysac.so в / usr / local / lib / и после запуска ldconfig создал символическую ссылку. Но все же это дало ту же ошибку.

Теперь я скопировал libmod_spidermonkey.so в общую директорию lib. Но в этот раз ldconfig не создавал символических ссылок.

Я действительно смущен и ищу несколько указателей. Пожалуйста, помогите

1 Ответ

4 голосов
/ 01 апреля 2010

ldconfig создает, обновляет и удаляет необходимые ссылки и кэш (для использования компоновщиком времени выполнения, ld.so) с последними общими библиотеками, найденными в каталогах, указанных в командной строке в файле /etc/ld.so.conf и в доверенных каталогах (/ usr / lib и /lib).

Вы можете попробовать ldd libmod_spidermonkey.so, чтобы посмотреть, найдет ли он все необходимые общие библиотеки. Если написано not found, вам нужно понять, почему.

Если требуется libmysac.so.0.0, вам необходимо иметь символическую ссылку или файл с таким именем в каталогах, упомянутых в /etc/ld.so.conf (или в одном из файлов в /etc/ld.so.conf.d/ ). После добавления библиотеки в эти каталоги вам нужно выполнить ldconfig.

Другим решением является настройка LD_LIBRARY_PATH оболочки.

export LD_LIBRARY_PATH=/usr/local/lib:/my/dir/with/libs

Нет ldconfig требуется в этом случае.

...