Не видятся библиотеки в /usr/local/lib

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
Аватара пользователя
AlexRat
Сообщения: 88
Контактная информация:

Не видятся библиотеки в /usr/local/lib

Сообщение AlexRat »

Столкнулся со странной проблемой.
Решил поставить lsdvd. Для ее работы нужна libdvdread.
Выкачал ее поставил. Все ОК.
Компилирую lsdvd. Компиляция проходит успешно. Устанавливаю. Запускаю.
Что за чудо?
lsdvd: error while loading shared libraries: libdvdread.so.3: cannot open shared object file: No such file or directory
Начинаю разбираться... libdvdread.so.3 находится в /usr/local/lib Имхо, вполне нормальное место для размещения библиотек. Но программа ее там не видит...
Перекинул в /usr/lib, все заработало.
В чем дело ??? Что нужно сделать, куда что прописать, чтобы программа находила библиотеку прямо в /usr/local/lib ???

P.S.: Кстати, может кто-нибудь заодно просветит меня, зачем в конце .3, а не просто .so, на которое оно собственно и ссылается???
Мой блог
Ubuntu 7.04
Windows XP SP2
Спасибо сказали:
Аватара пользователя
d_Sun
Сообщения: 291

Re: Не видятся библиотеки в /usr/local/lib

Сообщение d_Sun »

echo $LD_LIBRARY_PATH что говорит?
Моя подпись сильно длинная :)
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: Не видятся библиотеки в /usr/local/lib

Сообщение alv »

Чтобы находились либы в каталогах, отличных от /lib и /usr/lib, обычно достаточно внести путь в файл /etc/ld.so.config (типа этого - /usr/local/lib) и запустить команду ldconfig (это если речь о линуксе идет).
Точнее смотрите в man ldconfig

В некоторых программах документация советует определить в профильном файле переменную LD_LIBRARY_PATH, о которой говорит d_Sun.
А цифирька после so. - это номер версии либы: некоторые программы требуют просто lib_name.so, другие - lib_name конкретной версии или диапазона версий, и тогда приходится изгаляться с симлинками
Спасибо сказали:
Аватара пользователя
AlexRat
Сообщения: 88
Контактная информация:

Re: Не видятся библиотеки в /usr/local/lib

Сообщение AlexRat »

(alv @ Четверг, 26 Мая 2005, 11:51) писал(а):Чтобы находились либы в каталогах, отличных от /lib и /usr/lib, обычно достаточно внести путь в файл /etc/ld.so.config (типа этого - /usr/local/lib) и запустить команду ldconfig (это если речь о линуксе идет).
Точнее смотрите в man ldconfig
Большое спасибо!!!
А не подскажете заодно, почему такой казалось бы очевидный каталог как /usr/local/lib не вносится в /etc/ld.so.conf по-умолчанию ??? С чем это связано ???
Мой блог
Ubuntu 7.04
Windows XP SP2
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: Не видятся библиотеки в /usr/local/lib

Сообщение alv »

(AlexRat @ Четверг, 26 Мая 2005, 10:57) писал(а):
(alv @ Четверг, 26 Мая 2005, 11:51) писал(а):Чтобы находились либы в каталогах, отличных от /lib и /usr/lib, обычно достаточно внести путь в файл /etc/ld.so.config (типа этого - /usr/local/lib) и запустить команду ldconfig (это если речь о линуксе идет).
Точнее смотрите в man ldconfig
Большое спасибо!!!
А не подскажете заодно, почему такой казалось бы очевидный каталог как /usr/local/lib не вносится в /etc/ld.so.conf по-умолчанию ??? С чем это связано ???


Этот каталог далеко не очевиден во многих дистрибутивах линукса - предполагается, что юзер будет ставить штатные пакеты из дистра, а не компилировать их сам. Это называется любовью к пользователю:-)
Спасибо сказали:
Ответить