Поиск нужных библиотек и rpm
Материал из OSZone.net wiki.
Содержание |
[править]
Поиск нужных библиотек в rpm
Достаточно часто встречающийся вариант - приложение не стартует, жалуясь на нехватку библиотек. Что делать?
Прежде всего лучше подобрать родную (для Вашего дистрибутива) библиотеку. Прежде всего надо выяснить вопрос - какая библиотека нужна и в какой пакет она входит.
[править]
Как узнать какой библиотеки не хватает
Это определяется простой командой ldd, например
>ldd /usr/bin/mc
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00a09000)
libext2fs.so.2 => /lib/libext2fs.so.2 (0x00b26000)
libgpm.so.1 => /usr/lib/libgpm.so.1 (0x00265000)
libslang.so.1 => /usr/lib/libslang.so.1 (0x0084c000)
libc.so.6 => /lib/libc.so.6 (0x00111000)
librt.so.1 => /lib/librt.so.1 (0x00c3d000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00230000)
libm.so.6 => /lib/libm.so.6 (0x00731000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0x008e4000)
libdl.so.2 => /lib/libdl.so.2 (0x00ae5000)
/lib/ld-linux.so.2 (0x00f6c000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00233000)
Как видно все библиотеки найдены а вот я "спрятал" библиотеку libgpm
>ldd /usr/bin/mc
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x004db000)
libext2fs.so.2 => /lib/libext2fs.so.2 (0x00781000)
libgpm.so.1 => not found
libslang.so.1 => /usr/lib/libslang.so.1 (0x00c15000)
libc.so.6 => /lib/libc.so.6 (0x00869000)
librt.so.1 => /lib/librt.so.1 (0x00111000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00235000)
libdl.so.2 => /lib/libdl.so.2 (0x002d0000)
libm.so.6 => /lib/libm.so.6 (0x00801000)
/lib/ld-linux.so.2 (0x0070b000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00db6000)
[править]
Как узнать в каком именно rpm содержится нужная библиотека?
Рекомендуем замечательный сайт: http://rpmfind.net/
Пример запроса: http://rpmfind.net/linux/rpm2html/search.php?query=ld-linux.so.2
- А есть более unix-way способы? То есть можно ли найти пакет, зная только одно составляющее, пользуясь какими-нибудь стандартными командами?
Ответ ruslandh:
Можно, надо вытащить составлющие всех пакетов и пропустить через grep
cd <папка с rpm>
rpm -qpil * | grep -B40 -m1 ld-linux.so.2
- Для поиска пакетов в дистрибутивах с имеющимся apt очень подходит :
apt-cache search КЛЮЧЕВОЕ_СЛОВО_ПОИСКА
Например :
apt-cache search ffmpeg ffmpeg - Быстрый кодировщик/декодировщик MPEG1/MPEG4/H263/RV и AC3/MPEG ffmpeg-doc - Documentation files for ffmpeg project. ffmpeg-vhook - The video hook functionality for ffmpeg ffmpeg2theora - A simple converter to create Ogg Theora files ffplay - A very simple media player using the ffmpeg and SDL libraries gst-ffmpeg - GStreamer streaming media framework plug-in using FFmpeg kmplayer - Графическая оболочка MPlayer/Xine/ffmpeg/ffserver/VDR для KDE libakode - A simple audio backend libavcodec - ffmpeg codec library libavformat - ffmpeg file format library libffmpeg - Shared libraries to run ffmpeg libffmpeg-devel - Development files for ffmpeg libffmpeg-devel-static - ffmpeg static libraries libmpeg3hv - advanced editing and manipulation of MPEG streams (cinelerra's internal) libmpeg3hv-devel - advanced editing and manipulation of MPEG streams (development files) libmpeg3hv-utils - advanced editing and manipulation of MPEG streams (development files) libpostproc - ffmpeg video postprocessing library libquicktimehv - Quicktime 4 Linux Cinelerra internal library libquicktimehv-devel - Quicktime 4 Linux (Cinelerra internal) library (development files) vlc-normal - Normal package for VideoLAN Client vlc-plugin-ffmpeg - FFMPeg plugin for the VideoLAN client
[править]
