Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> export LD_LIBRARY_PATH в .profile, туплю? 
V
    Опции темы
kemiisto
Дата 27.9.2009, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 9
Всего: 160



Ubuntu 9.04

Что-то я затупил на ночь глядя. Надо добавить /usr/local/lib в LD_LIBRARY_PATH. Если писать в терминале:
Код

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$ echo $LD_LIBRARY_PATH
:/usr/local/lib

Всё робит. Добавляю точно такую же строчку (export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib) в ~/.profile, чтоб при смене сессии переменная не скидывалась. Не работает. smile 

Что не так?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
ZeeLax
Дата 27.9.2009, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 26
Всего: 88



Что оказывается в $LD_LIBRARY_PATH после логина?


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
bilbobagginz
Дата 27.9.2009, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



в убунте если не изменяет память /usr/loca/lib уже находится на пути по умолчанию.
а вообще весь механизьм устроен так:
есть каталог /etc/ld.so.conf.d
есть файл /etc/ld.so.conf:
Код

include /etc/ld.so.conf.d/*.conf

т.е. этот файл инклюдит все файлы .conf из каталога в алфавитном порядке.
по умолчанию в каталоге есть файл /etc/ld.so.conf.d/libc.conf
в нём находится это:
Код

# libc default configuration
/usr/local/lib



а в чём собственно, проблема ?




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
kemiisto
Дата 27.9.2009, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 9
Всего: 160



Цитата(bilbobagginz @  27.9.2009,  21:46 Найти цитируемый пост)
а в чём собственно, проблема ?

Нужно добавить в LD_LIBRARY_PATH /usr/local/lib. Содержимое /etc/ld.so.conf и /etc/ld.so.conf.d/libc.conf в точности такое как ты написал. Ничего там не менял, Ubuntu только установил. Но:

Цитата(ZeeLax @  27.9.2009,  20:57 Найти цитируемый пост)
Что оказывается в $LD_LIBRARY_PATH после логина? 

Пусто там. smile 



--------------------
PM MAIL WWW GTalk Jabber   Вверх
bilbobagginz
Дата 28.9.2009, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



kemiisto, повторю наводящие вопросы.
почему ты решил, что файлы из /usr/local/lib не находятся загрузчиком ?

если имя библиотеки, к-рую ты якобы добавил в /usr/local/lib уникально, то его должен 
Код

ldd <полное_имя_бинарника>

находить.

если оно НЕ уникально (т.е. где-то в недрах других каталогов находится либа с идентичным названием),
то тебе надо делать определить порядок загрузки инициализационных скриптов,
а потом, в ПОСЛЕДНИЙ добавить:
Код

export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}

т.е. чтобы добавка была ПЕРВОЙ в переменной.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
nickless
Дата 28.9.2009, 03:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 41
Всего: 181



Парочка соображений насчет сабжа,
1. Настройки шелла (я так понимаю bash) через конфигурационные файлы в ~ не влияют на запуск приложений из ГУЯ (он запускается раньше)
2. ~/.profile сорсится только логин-шеллом. Шеллы запускаемые при открытии нового терминала не обязательно будут логин-шеллами, те, что запускаются скриптами тем более

Короче попробуй записать это в ~/.bashrc, не поможет - давай больше информации о программе (а не скрипт ли это?), шелле и окружении.


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
kemiisto
  Дата 28.9.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 9
Всего: 160



Цитата(bilbobagginz @  28.9.2009,  03:48 Найти цитируемый пост)
почему ты решил, что файлы из /usr/local/lib не находятся загрузчиком ?

Во-первых,
Код

$ echo $LD_LIBRARY_PATH

$

Пусто там после логина.

Во-вторых, есть небольшой проектик. Вот что пишет при запуске:
Код

$ ./QDalton 
./QDalton: error while loading shared libraries: libopenbabel.so.3: cannot open shared object file: No such file or directory


Содержимое /usr/local/lib/
Код

$ ls /usr/local/lib/
libopenbabel.la  libopenbabel.so.3      openbabel  python2.6
libopenbabel.so  libopenbabel.so.3.0.3  pkgconfig

Там она.

А теперь так:
Код

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$ ./QDalton

Вуаля! Всё естественно работает.

Цитата(nickless @  28.9.2009,  04:23 Найти цитируемый пост)
1. Настройки шелла (я так понимаю bash) через конфигурационные файлы в ~ не влияют на запуск приложений из ГУЯ (он запускается раньше)

Ага, bash. Про GUI не знал. smile 

Цитата(nickless @  28.9.2009,  04:23 Найти цитируемый пост)
Короче попробуй записать это в ~/.bashrc, не поможет - давай больше информации о программе (а не скрипт ли это?), шелле и окружении. 

Добавил в ~/.bashrc строчку export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib. Теперь стартует из консоли. smile  Осталось по двойному клику чтоб пошла.
Прога гуёвая, на Qt.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
bilbobagginz
Дата 28.9.2009, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



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

удачи.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
kemiisto
  Дата 28.9.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 9
Всего: 160



Цитата(bilbobagginz @  28.9.2009,  16:25 Найти цитируемый пост)
в таких случаях создают скрипт, и в нем определяют переменные.

Я либо чего то не понимаю... Это не тот случай. Ты же сам написал, что /usr/local/lib  должна "подхватываться" и быть в LD_LIBRARY_PATH. Разве не так? smile 

Вот тут почитал. Выполнил
Код

sudo ldconfig

Никакие конфиги не правил. Ибо всё уже было прописано.

И заработало! smile  (строчку из ~/.bashrc, конечно же, удалил)

Вот, нашёл в багрепортах. Правда, давно было. И, типа, пофиксили... smile 

Всем спасибо за дискуссию.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.