Instale o ImageMagick recente no CentOS 6.3


13

Estou tendo um momento terrível tentando instalar uma versão recente do ImageMagick em um servidor CentOS 6.3 x86_64. Primeiro, baixei o RPM do site ImageMagick e tentei instalá-lo. Isso falhou devido à falta de dependências:

error: Failed dependencies:
    libHalf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libIex.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libIlmImf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libImath.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libltdl.so.3()(64bit) is needed by ImageMagick-6.8.0-4.x86_64

Eu libtool-ltdlinstalei, mas isso inclui libltdl.so.7, não libltdl.so.4. Eu tenho um problema semelhante com libHalf, libIex, libIlmImfe libImath. Normalmente, você pode instalar o OpenEXR para obter essas dependências. Infelizmente, o CentOS 6.3 inclui o OpenEXR 1.6.1, que inclui o ilmbase-devel 1.0.1. E essa versão do ilmbase-devel inclui versões mais recentes dessas dependências:

  • libHalf.so.6
  • libIex.so.6
  • libIlmImf.so.6
  • libImath.so.6

Em seguida, tentei seguir as instruções para instalar o ImageMagick a partir da fonte. Não há sorte lá também. Eu recebo um erro de compilação:

RPM build errors:
  File not found by glob: /home/sean/rpmbuild/BUILDROOT/ImageMagick-6.8.0-4.x86_64/usr/lib64/ImageMagick-6.8.0/modules-Q16/coders/djvu.*

Até executei novamente configurepara excluir explicitamente o djvu e ainda recebo o mesmo erro. Neste ponto, estou puxando meu cabelo.

Qual é a maneira mais fácil de instalar uma versão relativamente recente do ImageMagick (> 6.7) no CentOS 6.3? Alguém oferece RPMs com dependências em algum lugar?


Eu tive problemas com isso, também, não tenho certeza se eu já tenho que trabalhar, mas você pode tentar: 'yum install libtool-ltdl-devel'
user16081-JoeT

No CentOS 6.3, libtool-ltdl-develinclui libltdl.so.7, mas o ImageMagick exige libltdl.so.3. :(
organicveggie

Gostaria de saber se eles são semelhantes o suficiente para que você possa criar links simbólicos de 0,3 a 0,7 e falsificar o ImageMagick para que ele seja instalado. movimento total de hackers, mas pode funcionar: \
user16081-JoeT 7/12

Respostas:


12

Você não deveria ter esses problemas ... Tentei procurar binários em lata e agradáveis ​​de uma versão atual do ImageMagick . Não encontrei nenhum que não tivesse pré-requisitos estranhos ...

Então, criei uma máquina virtual CentOS 6.3 e construí o mais novo arquivo SRPM do ImageMagick . Convém ativar o repositório RepoForge (anteriormente RPMForge) . A construção foi sem problemas!

Informação do sistema:

[root@MDMarra ~]# uname -a
Linux MDMarra.localdomain 2.6.32-279.11.1.el6.x86_64 #1 SMP Tue Oct 16 15:57:10 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

[root@MDMarra ~]# cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m

[root@MDMarra ~]# yum repolist
repo id                                       repo name                                                     status
base                                          CentOS-6 - Base                                                 6346
extras                                        CentOS-6 - Extras                                                  6
rpmforge                                      Red Hat Enterprise 6 - RPMforge.net - dag                       4453
update                                        CentOS-6 - Updates                                               820

Comece a instalação:

[root@MDMarra ~]# wget http://imagemagick.mirrorcatalogs.com/linux/SRPMS/ImageMagick-6.8.0-4.src.rpm
[root@MDMarra ~]# yum install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel
[root@MDMarra ~]# rpmbuild --rebuild ImageMagick-6.8.0-4.src.rpm

Esses arquivos foram gerados:

Processing files: ImageMagick-debuginfo-6.8.0-4.x86_64
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/ImageMagick-6.8.0-4.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-djvu-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-doc-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-perl-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-devel-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-debuginfo-6.8.0-4.x86_64.rpm

Instale o pacote:

rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm 

Verifique os binários instalados:

[root@MDMarra ~]# rpm -qlp /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm| grep bin
/usr/bin/animate
/usr/bin/compare
/usr/bin/composite
/usr/bin/conjure
/usr/bin/convert
/usr/bin/display
/usr/bin/identify
/usr/bin/import
/usr/bin/mogrify
/usr/bin/montage
/usr/bin/stream

Verifique o número da versão do pacote recém-instalado:

[root@MDMarra ~]# /usr/bin/convert -version
Version: ImageMagick 6.8.0-4 2012-11-07 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

Desfrutar!!


Hummm. Interessante. Não instalei o djvulibre-devel, libwmf-devel, jasper-devel ou giflib-devel ao tentar reconstruir o RPM. Deixe-me tentar.
precisa

A lista de pacotes * -devel necessários para criar o RPM foi listada no erro que recebi quando executei inicialmente rpmbuildno SRPM. Eu também poderia simplesmente enviar o arquivo resultante ... Mas eu queria descrever as etapas que eu segui.
ewwhite

Veja, eu segui por engano as instruções que me pediram para reconstruir o SRPM primeiro. De alguma forma, essa etapa permite ignorar as verificações de RPMs ausentes ao executar rpmbuild. Esquisito. Instalar os RPMs ausentes fez o truque! Consegui criar os RPMs finais e instalá-los sem problemas. Os testes mostraram que os binários funcionavam perfeitamente. Obrigado!
organicveggie

10
POR QUE VOCÊ ESTÁ CHEGANDO EM MIM? Isso é realmente estranho.
precisa saber é o seguinte

4
@MDMarra: Você está prestes a se casar. Seja grato por qualquer ação.
Scott pacote de

5

Como ninguém mencionou uma alternativa "sem complicações", vou adicionar uma nova resposta.

Se você não se importa em usar repositórios não oficiais, pode ativar o repositório Remi, conforme descrito aqui http://blog.famillecollet.com/pages/Config-en . Depois disso, basta digitar

yum install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64

E você terá uma das versões mais recentes disponíveis, já empacotadas e com todas as dependências resolvidas e tratadas corretamente pelo yum. Não há necessidade de recompilar nada.

Nota: Não está exatamente atualizado com a versão que você pode encontrar no site oficial, mas parece que não demora mais de um ou dois meses. Por exemplo, no momento em que escrevo, a versão oficial mais recente é 6.8.8 (12 de janeiro de 2014), enquanto a que encontrei no remi repo é 6.8.7 (15 de dezembro de 2013).


Ou você pode baixar a partir de repo remi como um one-off comsudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8

1

Eu tive esse problema com o CentOS 7.2 e o ImageMagick 6.9.3-9. Depois de muita tentativa e erro, descobri que 6.9.3- 8 obras, enquanto 6.9.3- 9 tem dependências que não conseguem resolver. Felizmente, http://rpm.pbone.net/ encontrou um repositório com a versão mais antiga.

IMAGEMAGICK_VERSION=6.9.3-8
# Be warned, 6.9.3-9 does not work; dependencies fail to resolve
IMAGEMAGICK_LIBS_SHA1=c0919e4ef4b7edc1052ef40eef4cc34f7a86341c
IMAGEMAGICK_SHA1=f99eda483850dd116b08e5527d603be2a47db8c4

curl -O ftp://ftp.icm.edu.pl/vol/rzm4/ImageMagick/linux/CentOS/x86_64/ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && sha1sum ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm | grep $IMAGEMAGICK_LIBS_SHA1 \
    && yum install -y ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && rm ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && curl -O ftp://ftp.icm.edu.pl/vol/rzm4/ImageMagick/linux/CentOS/x86_64/ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && sha1sum ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm | grep $IMAGEMAGICK_SHA1 \
    && yum install -y ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && rm ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm

0

Parece que você precisará do seguinte ou de pelo menos alguns dos seguintes itens:

OpenEXR-devel.i686
OpenEXR-devel.x86_64
OpenEXR-libs.i686
OpenEXR-libs.x86_64

yum install OpenEXR-devel.i686 OpenEXR-libs.i686 OpenEXR-devel.x86_64 OpenEXR-libs.x86_64

A instalação dos 4 não deve causar muito ônus ou aumento no uso do espaço em disco, mas esses são os pacotes retornados quando procurei em http://rpm.pbone.net/ por 'libHalf.so.4' ou ' libIlmImf.so.4 'por exemplo.


Vou atualizar minha postagem para esclarecer, mas já segui esse caminho. O CentOS 6.3 possui o OpenEXR 1.6.1, que inclui versões mais recentes de coisas como libHalf( libHalf.so.6por exemplo).
organicveggie

0

Se você também precisar da versão de desenvolvimento do ImageMagicK, execute:

rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.8.0-4.x86_64.rpm

Esta etapa será necessária se você planeja executar as ligações do ImagicK (PHP). Para instalar o iMagicK, digite:

imagl de instalação do pecl

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.