Instal ImageMagick terbaru di CentOS 6.3

13

Saya mengalami waktu yang mengerikan mencoba untuk menginstal ImageMagick versi terbaru pada server CentOS 6.3 x86_64. Pertama, saya mengunduh RPM dari situs ImageMagick dan mencoba menginstalnya. Itu gagal karena dependensi yang hilang:

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

Saya telah libtool-ltdlmenginstal, tetapi itu termasuk libltdl.so.7, tidak libltdl.so.4. Saya memiliki masalah yang sama dengan libHalf, libIex, libIlmImfdan libImath. Biasanya, Anda dapat menginstal OpenEXR untuk mendapatkan dependensi tersebut. Sayangnya, CentOS 6.3 termasuk OpenEXR 1.6.1, yang mencakup ilmbase-devel 1.0.1. Dan rilis ilmbase-devel termasuk versi yang lebih baru dari dependensi tersebut:

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

Saya selanjutnya mencoba mengikuti petunjuk untuk menginstal ImageMagick dari sumber. Juga tidak ada keberuntungan. Saya mendapatkan kesalahan 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.*

Saya bahkan berlari kembali configureuntuk secara eksplisit mengecualikan djvu dan saya masih mendapatkan kesalahan yang sama. Pada titik ini, saya mencabut rambut saya.

Apa cara termudah untuk mendapatkan versi ImageMagick (> 6.7) yang relatif baru diinstal pada CentOS 6.3? Apakah seseorang menawarkan RPM dengan dependensi di suatu tempat?

organikveggie
sumber
Saya mengalami masalah dengan ini juga, tidak yakin apakah saya pernah berhasil tetapi Anda dapat mencoba: 'yum instal libtool-ltdl-devel'
user16081-JoeT
Di CentOS 6.3, libtool-ltdl-develsertakan libltdl.so.7, tetapi ImageMagick membutuhkan libltdl.so.3. :(
organicveggie
Saya bertanya-tanya apakah mereka cukup mirip sehingga Anda dapat membuat symlink dari .3 hingga .7 dan memalsukan ImageMagick sehingga instal. gerakan hack total tetapi mungkin berhasil: \
user16081-JoeT

Jawaban:

12

Anda seharusnya tidak mengalami masalah ini ... Saya mencoba mencari biner yang bagus, kalengan dari versi saat ini dari ImageMagick . Saya tidak dapat menemukan yang tidak memiliki prasyarat aneh ...

Jadi saya memutar mesin virtual CentOS 6.3 dan membuat file SRPM ImageMagick terbaru . Anda mungkin ingin mengaktifkan repositori RepoForge (sebelumnya RPMForge) juga. Membangun pergi tanpa hambatan!

Sistem Informasi:

[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

Mulai instalasi:

[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

File-file ini dihasilkan:

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

Instal paket:

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

Periksa binari yang diinstal:

[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

Periksa nomor versi paket yang baru diinstal:

[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    

Nikmati!!

putih
sumber
Hmmmm Menarik. Saya tidak menginstal djvulibre-devel, libwmf-devel, jasper-devel atau giflib-devel ketika mencoba membangun kembali RPM. Biar aku mencobanya.
organicveggie
Daftar paket * -devel yang diperlukan untuk membangun RPM tercantum dalam kesalahan yang saya terima ketika saya awalnya berlari rpmbuildmelawan SRPM. Saya juga bisa mengunggah file yang dihasilkan ... Tapi saya ingin menguraikan langkah-langkah yang saya ambil.
ewwhite
Lihat, saya keliru mengikuti instruksi yang menyuruh saya membangun kembali SRPM terlebih dahulu. Entah bagaimana langkah itu, biarkan saya melewatkan cek untuk RPM yang hilang saat menjalankan rpmbuild. Aneh. Menginstal RPM yang hilang berhasil! Saya dapat membangun RPM terakhir dan menginstalnya tanpa hambatan. Pengujian menunjukkan biner bekerja dengan sempurna. Terima kasih!
organicveggie
10
MENGAPA ANDA DITERBITKAN KEPADA SAYA? Ini benar-benar canggung.
MDMarra
4
@MDMarra: Kamu akan menikah. Bersyukurlah atas tindakan apa pun.
Scott Pack
5

Karena tidak ada yang menyebutkan alternatif "bebas repot", saya akan menambahkan jawaban baru.

Jika Anda tidak keberatan menggunakan repositori non-resmi, Anda dapat mengaktifkan repo Remi seperti dijelaskan di sini http://blog.famillecollet.com/pages/Config-en . Setelah itu, ketikkan saja

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

Dan Anda akan mendapatkan salah satu versi terbaru yang tersedia, sudah dikemas dan setiap ketergantungan diselesaikan dengan benar dan ditangani oleh yum. Tidak perlu mengkompilasi ulang apa pun.

Catatan: Ini bukan versi terbaru yang dapat Anda temukan di situs web resmi, tetapi tampaknya tidak lebih dari 1-2 bulan di belakang. Sebagai contoh, pada saat penulisan versi resmi terbaru adalah 6.8.8 (12 Jan 2014) sedangkan yang saya temukan di remi repo adalah 6.8.7 (15 Des 2013).

Andrea Sprega
sumber
Atau Anda dapat mengunduh dari remi repo sebagai satu kali dengansudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8
1

Saya punya masalah dengan CentOS 7.2 dan ImageMagick 6.9.3-9. Setelah banyak trial and error saya menemukan bahwa 6.9.3- 8 karya, sementara 6.9.3- 9 memiliki dependensi yang gagal untuk menyelesaikan. Untungnya http://rpm.pbone.net/ menemukan repositori dengan versi yang lebih lama.

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
sumber
0

Sepertinya Anda memerlukan yang berikut atau setidaknya beberapa dari yang berikut:

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

Menginstal semua 4 seharusnya tidak menyebabkan banyak beban atau peningkatan penggunaan ruang disk, tetapi itu adalah paket yang dikembalikan ketika saya mencari di http://rpm.pbone.net/ untuk 'libHalf.so.4' atau ' libIlmImf.so.4 'misalnya.

bmurtagh
sumber
Saya akan memperbarui posting saya untuk mengklarifikasi, tetapi saya sudah menempuh jalan itu. CentOS 6.3 memiliki OpenEXR 1.6.1, yang mencakup versi lebih baru dari hal-hal seperti libHalf( libHalf.so.6misalnya).
organicveggie
0

Jika Anda memerlukan versi pengembangan ImageMagicK yang diinstal juga, Anda dapat menjalankan:

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

Langkah ini diperlukan jika Anda berencana untuk menjalankan binding ImagicK (PHP). Untuk menginstal tipe iMagicK:

Pecl instal Imagick

John B
sumber