URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3534
[ Назад ]

Исходное сообщение
"program install in home dir (libs resolve)"

Отправлено Александр , 31-Окт-04 15:53 
Подскажите, пожалуйста, как правильно ставить программу и библиотеку в домашнюю директорию?
То есть я хочу добавить некоторую библиотеку не в систему, а, предположим, в директорию XApplication вместе с библиотеками, которые ему (приложению) нужны.
Отлично, указываю префикс, получаю каталоги lib/, includes/, ..., но при попытке запустить приложение мне говорят, что "can't open library", так как "(No such file or directory, errno = 2)".
Понимаю, что надо сказать, что библиотеки также надо искать не только в системных директориях, но и в моих - но как?

Заранее спасибо.
P.S. Система - FreeBSD & MacOS X.


Содержание

Сообщения в этом обсуждении
"program install in home dir (libs resolve)"
Отправлено Vladislav Lazarenko , 31-Окт-04 20:21 
>Подскажите, пожалуйста, как правильно ставить программу и библиотеку в домашнюю директорию?
>То есть я хочу добавить некоторую библиотеку не в систему, а, предположим,
>в директорию XApplication вместе с библиотеками, которые ему (приложению) нужны.
>Отлично, указываю префикс, получаю каталоги lib/, includes/, ..., но при попытке запустить
>приложение мне говорят, что "can't open library", так как "(No such
>file or directory, errno = 2)".
>Понимаю, что надо сказать, что библиотеки также надо искать не только в
>системных директориях, но и в моих - но как?
>
>Заранее спасибо.
>P.S. Система - FreeBSD & MacOS X.


Практически во всех юних системах есть такая переменная как LD_LIBRARY_PATH ... тут указываются каталоги, где искать библиотеки. В общем читай ман... :)


"program install in home dir (libs resolve)"
Отправлено Александр , 31-Окт-04 20:42 
>Практически во всех юних системах есть такая переменная как LD_LIBRARY_PATH ... тут
>указываются каталоги, где искать библиотеки. В общем читай ман... :)

Какой ман/маный? С удовольствием почитаю - знать бы что... =)
И где искать эту переменную? Она разве не системная (то есть мне - простому юзеру доступная)?


"program install in home dir (libs resolve)"
Отправлено Vladislav Lazarenko , 31-Окт-04 20:44 
>>Практически во всех юних системах есть такая переменная как LD_LIBRARY_PATH ... тут
>>указываются каталоги, где искать библиотеки. В общем читай ман... :)
>
>Какой ман/маный? С удовольствием почитаю - знать бы что... =)
>И где искать эту переменную? Она разве не системная (то есть мне
>- простому юзеру доступная)?

Ну .. (чешит репу) ... # man -k LD_LIBRARY_PATH ... или что-то такое, забыл уже.

Переменная доступна .. в SH так можно

sh# LD_LIBRARY_PATH=. ./executable parameters...

тип того


"program install in home dir (libs resolve)"
Отправлено Александр , 31-Окт-04 21:07 
CWD: ~/WebRoot  Time is: 21:31:19 Jobs: 1
xlex@UnixHost.LocalNet>man -k LD_LIBRARY_PATH
LD_LIBRARY_PATH: nothing appropriate

CWD: ~/WebRoot  Time is: 21:32:24 Jobs: 1
xlex@UnixHost.LocalNet>env |grep LD_LIB
ничего не выводит...

и задание LD_LIBRARY_PATH перед запуском программы тоже не работает... =/


"program install in home dir (libs resolve)"
Отправлено Александр , 31-Окт-04 21:41 
Нашлось решение.
Спасибо за мысль с LD_LIBRARY... - на MacOS X это тоже работает, только имя переменной должно быть другим: DYLD_LIBRARY_PATH.
А маны тут нужны вроде как (посоветовали на ЛОРе) по ldd.
В любом случае, спасибо за помощь.