Installa ImageMagick recente su CentOS 6.3


13

Mi sto divertendo un mondo a provare a installare una versione recente di ImageMagick su un server CentOS 6.3 x86_64. Innanzitutto, ho scaricato l'RPM dal sito ImageMagick e ho provato a installarlo. Fallito a causa di dipendenze mancanti:

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

Ho libtool-ltdlinstallato, ma questo include libltdl.so.7, non libltdl.so.4. Ho un problema simile con libHalf, libIex, libIlmImfe libImath. In genere, è possibile installare OpenEXR per ottenere tali dipendenze. Sfortunatamente, CentOS 6.3 include OpenEXR 1.6.1, che include ilmbase-devel 1.0.1. E quella versione di ilmbase-devel include versioni più recenti di tali dipendenze:

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

Successivamente ho provato a seguire le istruzioni per l'installazione di ImageMagick dalla fonte. Nessuna fortuna neanche lì. Ottengo un errore di build:

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.*

Ho anche rieseguito configureper escludere esplicitamente djvu e continuo a ricevere lo stesso errore. A questo punto, mi sto strappando i capelli.

Qual è il modo più semplice per installare una versione relativamente recente di ImageMagick (> 6.7) su CentOS 6.3? Qualcuno offre RPM con dipendenze da qualche parte?


Ho avuto anche problemi con questo, non sono sicuro di averlo mai fatto funzionare ma potresti provare: 'yum install libtool-ltdl-devel'
user16081-JoeT

In CentOS 6.3, libtool-ltdl-develinclude libltdl.so.7, ma ImageMagick richiede libltdl.so.3. :(
organicveggie

Mi chiedo se sono abbastanza simili da poter creare collegamenti simbolici da .3 a .7 e falsificare ImageMagick in modo che si installi. spostamento totale degli hack ma potrebbe funzionare: \
user16081-JoeT

Risposte:


12

Non dovresti avere questi problemi ... Ho provato a cercare dei binari in scatola di una versione corrente di ImageMagick . Non sono riuscito a trovare nessuno che non avesse prerequisiti strani ...

Così ho avviato una macchina virtuale CentOS 6.3 e ho creato il file SRPM ImageMagick più recente . Potresti voler abilitare anche il repository RepoForge (precedentemente RPMForge) . La build è andata senza intoppi!

Informazioni di 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

Inizia l'installazione:

[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

Questi file sono stati generati:

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

Installa il pacchetto:

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

Controlla i binari installati:

[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

Controllare il numero di versione del pacchetto appena installato:

[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    

Godere!!


Hrmmm. Interessante. Non ho installato djvulibre-devel, libwmf-devel, jasper-devel o giflib-devel quando ho provato a ricostruire l'RPM. Fammi provare.
Organicveggie,

L'elenco dei pacchetti * -devel necessari per creare l'RPM era elencato nell'errore che ho ricevuto quando ho eseguito inizialmente rpmbuildcontro l'SRPM. Potrei anche solo caricare il file risultante ... Ma volevo delineare i passi che ho fatto.
ewwhite,

Vedi, ho erroneamente seguito le istruzioni che mi dicevano di ricostruire prima l'SRPM. In qualche modo quel passaggio mi ha permesso di saltare i controlli per RPM mancanti durante l'esecuzione rpmbuild. Strano. L'installazione degli RPM mancanti ha funzionato! Sono stato in grado di costruire gli RPM finali e installarli senza intoppi. I test hanno mostrato che i binari funzionavano perfettamente. Grazie!
Organicveggie

10
PERCHÉ SEI SSHED IN ME? Questo è davvero imbarazzante.
MDMarra,

4
@MDMarra: Stai per sposarti. Sii grato per qualsiasi azione.
Scott Pack,

5

Dato che nessuno ha menzionato un'alternativa "senza problemi", aggiungerò una nuova risposta.

Se non ti dispiace usare repository non ufficiali, puoi abilitare il repository Remi come descritto qui http://blog.famillecollet.com/pages/Config-en . Dopodiché, basta digitare

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

E otterrai una delle ultime versioni disponibili, già confezionata e con ogni dipendenza correttamente risolta e gestita da yum. Non è necessario ricompilare nulla.

Nota: non è esattamente aggiornato con la versione che puoi trovare sul sito ufficiale, ma sembra non essere più di 1-2 mesi indietro. Ad esempio, al momento della stesura dell'ultima versione ufficiale è la 6.8.8 (12 gennaio 2014) mentre quella che ho trovato sul remi repo è la 6.8.7 (15 dicembre 2013).


Oppure puoi scaricare da remi repo come una tantum consudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8

1

Ho avuto questo problema con CentOS 7.2 e ImageMagick 6.9.3-9. Dopo molti tentativi ed errori ho scoperto che 6.9.3- 8 opere, mentre 6.9.3- 9 ha dipendenze che non riescono a risolvere. Fortunatamente http://rpm.pbone.net/ ha trovato un repository con la versione precedente.

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

Sembra che avrai bisogno di quanto segue o almeno alcuni dei seguenti:

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

L'installazione di tutti e 4 non dovrebbe comportare un onere eccessivo o un aumento dell'utilizzo dello spazio su disco, ma questi sono i pacchetti restituiti quando ho cercato su http://rpm.pbone.net/ 'libHalf.so.4' o ' libIlmImf.so.4 'per esempio.


Aggiornerò il mio post per chiarire, ma ho già intrapreso questa strada. CentOS 6.3 ha OpenEXR 1.6.1, che include versioni più recenti di cose come libHalf( libHalf.so.6ad esempio).
Organicveggie,

0

Se è necessaria anche la versione di sviluppo di ImageMagicK installata, è possibile eseguire:

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

Questo passaggio sarà necessario se si prevede di eseguire i collegamenti ImagicK (PHP). Per installare il tipo iMagicK:

pecl installa imagick

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.