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?

orgânico
fonte
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!!

ewwhite
fonte
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).

Andrea Sprega
fonte
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
Geoffrey Booth
fonte
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.

bmurtagh
fonte
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

John B
fonte