Приложение, установленное в ~ / usr, запускается из терминала, но не из меню приложений (или почему настройка ld_library_path в .profile не работает должным образом)

Я построил и установил приложение в каталоге по своему выбору, скажем, в /home/jim/usr, поэтому файлы были помещены в три-четыре папки, все в этой папке $HOME/usr (например, bin, [ 114], lib, share и т. Д.).

Я могу нормально запустить это приложение из командной строки, добавив правильные пути к переменным окружения PATH и LD_LIBRARY_PATH в ~/.bashrc.

Я добавил те же пути в файл ~/.profile, который, если я не ошибаюсь, должен быть разобран в Ubuntu.

Не работает. Ничего такого. Куда я могу пойти оттуда?

РЕДАКТИРОВАТЬ: Я вышел из системы и перезагрузил компьютер. Оба ничего не изменили. Кажется, проблема в том, что независимо от того, что я делаю, переменная среды LD_LIBRARY_PATH не передается должным образом в Ubuntu.

Используя файлы журнала, я обнаружил, что приложение, которое я пытаюсь запустить в этом примере, не находит его зависимости, расположенные в ~/usr/lib.

Одним из решений было бы добавить папку /home/jim/usr/lib в файл, расположенный в /etc/ld.so.conf.d/, но у меня нет прав администратора на этом компьютере.

Создание сценария-обертки, подобного этому, работает:

#!/bin/bash
export LD_LIBRARY_PATH=$HLOC/usr/lib
application &> $HOME/application_messages.log

, но это заставит меня обернуть все мои домашние скомпилированные приложения этим сценарием. Есть идеи?

Почему Ubuntu / Gnome удаляет переменную окружения LD_LIBRARY_PATH из моих установленных переменных? Это потому, что пытаться сделать это - плохая практика?

ОБНОВЛЕНИЕ (и решение): Как обнаружил Кристофер, на панели запуска есть сообщение об ошибке. LD_LIBRARY_PATH сбрасывается после анализа файла ~/.profile. См. Отчет об ошибке . Кажется, пока единственное решение - создать скрипт-обертку.

4
задан 9 February 2011 в 23:34

1 ответ

Создайте для него файл:

sudo vim /etc/ld.so.conf.d/my_application.conf

И содержимое этого файла:

/home/jim/usr/lib

Сохранить. Перестройте кеш:

sudo ldconfig -v
0
ответ дан 9 February 2011 в 23:34

Другие вопросы по тегам:

Похожие вопросы: