Мы отправляем ImageMagick с нашим продуктом. Нужно немало библиотек.

libtiff libICE libdl
libfreetype libX11 libglib-2.0
libjpeg libbz2 libxml2
libpng librsvg-2 libz
libfontconfig libgdk_pixbuf-2.0 libm
libXext libm libgomp
libXt libgobject-.0 libpthread
libSM libgmodule-2.0 

Существует ли стандартный способ проверки наличия этих библиотек в операционной системе RedHat?

Поиск по SO и Google приводит к таким командам, как

pkg-config, найдите и который

Кто-нибудь успешно их использовал?

3 ответа3

1

Попробуйте команду ldd :

ldd ImageMagick

распечатывает динамический общий объект, библиотеки, на которые ссылается программа ImageMagick, и обнаруживает ли библиотеки.

0

Вы можете просто использовать yum для установки, и он покажет недостающие зависимости.

если вы просто хотите узнать, чего не хватает, вы можете установить плагин yum-downloadonly, тогда вы можете

yum install -y ImageMagick - загрузить только

это просто загрузит все отсутствующие зависимости, не устанавливая их.

найти зависимости перед установкой rpm

rpm -qpR что-то

отобразит список всех зависимостей, и вы сможете выполнить поиск, чтобы увидеть, существуют ли они, но это звучит слишком сложно. вероятно yum --downloadonly будет достаточно.

0

Я предлагаю вам использовать autoconf ; внутри есть инструменты, которые автоматически проверяют наличие библиотек, пытаясь скомпилировать фиктивную программу для библиотеки. http://www.gnu.org/software/autoconf/manual/ Пример:

AC_CHECK_LIB(MagickWand, GetMagickModule)

Это попытается скомпилировать простую программу, которая вызовет GetMagickModule() - она не будет пытаться запустить программу, а только скомпилирует ее.

Программа autoconf генерирует программу configure , которая будет вызываться для проверки библиотек. Его основная цель - в конечном итоге создать Makefile, но это не должно быть его целью; программа configure может просто проверить библиотеки и вернуть ошибку, если они не существуют.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .