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.