Как решить проблему «не удается открыть общий объект» при открытии подпроцесса в apache - PullRequest
1 голос
/ 18 сентября 2010

Я запускаю веб-приложение в apache. Мое приложение пытается выполнить исполняемый файл, написанный QT.

Но я всегда сталкиваюсь с "не могу открыть общий объект libQtWebkit.so: нет такого файла или каталога" ошибка.

Я могу запустить этот исполняемый файл в оболочке без каких-либо проблем. Я попытался установить LD_LIBRARY_PATH, но все еще не работает.

Как мне задать путь к разделяемой библиотеке для apache, чтобы он запускал этот исполняемый файл?

Спасибо!

(Примечание: для более подробной информации мое веб-приложение написано django, который запускается в mod_wsgi, я пытаюсь запустить свой исполняемый файл с помощью subprocess.Popen. Этот исполняемый файл написан QT 4.6.3, расположенным в $ HOME / lib / qt (не установлена ​​версия QT системы), я установил QTDIR и LD_LIBRARAY_PATH, но не работает)

1 Ответ

2 голосов
/ 24 декабря 2010

Хорошо, я столкнулся с той же проблемой и получил решение от http://www.computing.net/answers/linux/error-in-loading-shared-libraries-/16460.html

Скажем, Apache не может загрузить файл xyz.so. Перейдите к своему терминалу и найдите его:

locate xyz.so

И скажем, что вы получите в качестве вывода:

/path/to/xyz.so

Добавьте этот путь (/path/to) в файл /etc/ld.so.conf. Затем запустите

sudo ldconfig

Теперь перезапустите сервер Apache и проверьте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...