Experimente o comando ldd
:
ldd ImageMagick
imprime o objeto dinâmico compartilhado, as bibliotecas que o programa ImageMagick faz referência e se as bibliotecas foram encontradas ou não.
Enviamos o ImageMagick com nosso produto. Precisa de algumas bibliotecas.
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
Existe uma maneira padrão de verificar se essas bibliotecas já estão presentes no sistema operacional host RedHat?
A pesquisa no SO e no Google leva a comandos como
pkg-config, locate and which
Alguém já usou com sucesso eles?
você pode usar o yum para instalar e mostrará as dependências que faltam.
se você quer apenas saber o que está faltando, você pode instalar o plugin yum-downloadonly, então você pode
yum instala -y ImageMagick --downloadonly
isso fará o download de todas as dependências ausentes sem instalá-las.
para encontrar dependências antes de instalar um rpm
rpm -qpR something.rpm
listará todas as dependências, e você poderá pesquisar para ver se elas existem, mas isso parece muito complicado. provavelmente yum --downloadonly será suficiente.
Sugiro que você use autoconf
; existem ferramentas dentro das quais verificarão automaticamente as bibliotecas que existem, tentando compilar um programa fictício contra a biblioteca. link Um exemplo:
AC_CHECK_LIB(MagickWand, GetMagickModule)
Isso tentaria compilar um programa simples que chamaria GetMagickModule()
- ele não tenta executar o programa, apenas para compilá-lo.
O programa autoconf
gera um programa configure
que seria chamado para verificar as bibliotecas. Seu objetivo principal é eventualmente gerar um Makefile, mas isso não tem que ser seu objetivo; o programa configure
pode apenas verificar bibliotecas e retornar um erro se elas não existirem.