Столкнулся со странной проблемой.
Решил поставить 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, на которое оно собственно и ссылается???
Не видятся библиотеки в /usr/local/lib
Модератор: Bizdelnick
Re: Не видятся библиотеки в /usr/local/lib
echo $LD_LIBRARY_PATH что говорит?
Моя подпись сильно длинная :)
Re: Не видятся библиотеки в /usr/local/lib
Чтобы находились либы в каталогах, отличных от /lib и /usr/lib, обычно достаточно внести путь в файл /etc/ld.so.config (типа этого - /usr/local/lib) и запустить команду ldconfig (это если речь о линуксе идет).
Точнее смотрите в man ldconfig
В некоторых программах документация советует определить в профильном файле переменную LD_LIBRARY_PATH, о которой говорит d_Sun.
А цифирька после so. - это номер версии либы: некоторые программы требуют просто lib_name.so, другие - lib_name конкретной версии или диапазона версий, и тогда приходится изгаляться с симлинками
Точнее смотрите в man ldconfig
В некоторых программах документация советует определить в профильном файле переменную LD_LIBRARY_PATH, о которой говорит d_Sun.
А цифирька после so. - это номер версии либы: некоторые программы требуют просто lib_name.so, другие - lib_name конкретной версии или диапазона версий, и тогда приходится изгаляться с симлинками
Re: Не видятся библиотеки в /usr/local/lib
Большое спасибо!!!(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 по-умолчанию ??? С чем это связано ???
Re: Не видятся библиотеки в /usr/local/lib
(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 по-умолчанию ??? С чем это связано ???
Этот каталог далеко не очевиден во многих дистрибутивах линукса - предполагается, что юзер будет ставить штатные пакеты из дистра, а не компилировать их сам. Это называется любовью к пользователю:-)