Yeni ImageMagick'i CentOS 6.3'e yükleyin


13

Bir CentOS 6.3 x86_64 sunucusunda ImageMagick'in son bir sürümünü yüklemeye çalışırken korkunç bir zaman geçiriyorum. Birincisi, indirilen ImageMagick sitesinden RPM ve kurun çalıştı. Eksik bağımlılıklar nedeniyle başarısız oldu:

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

Ben var libtool-ltdlyüklü, ama bu kapsar libltdl.so.7değil libltdl.so.4. Ben benzer bir sorun var libHalf, libIex, libIlmImfve libImath. Genellikle, bu bağımlılıkları almak için OpenEXR yükleyebilirsiniz. Ne yazık ki, CentOS 6.3, ilmbase-devel 1.0.1'i içeren OpenEXR 1.6.1'i içerir. Ve ilmbase-devel'in bu sürümü, bu bağımlılıkların daha yeni sürümlerini içerir:

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

Daha sonra ImageMagick'i kaynaktan yüklemek için talimatları izlemeyi denedim . Orada da şans yok. Derleme hatası alıyorum:

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

Hatta configureaçıkça djvu dışlamak için koştu ve hala aynı hatayı alıyorum. Bu noktada saçlarımı çekiyorum.

CentOS 6.3'te nispeten yeni bir ImageMagick (> 6.7) sürümü kurmanın en kolay yolu nedir? Birisi bir yerde bağımlılıkları olan RPM'ler sunuyor mu ?


Ben de bu konuda sorun vardı, hiç işe yaramadı emin değilim ama deneyebilirsiniz: 'yum install libtool-ltdl-devel'
user16081-JoeT

CentOS 6.3'te libtool-ltdl-develiçerir libltdl.so.7, ancak ImageMagick gerektirir libltdl.so.3. :(
organicveggie

Acaba .3 ile .7 arasında semboller oluşturabilecek ve ImageMagick'i taklit edebilecek kadar benzer olup olmadıklarını merak ediyorum. Toplam hack hareketi ama işe yarayabilir: \
user16081-JoeT

Yanıtlar:


12

Bu sorunları yaşamamalısınız ... ImageMagick'in güncel bir versiyonunun güzel, konserve ikili dosyalarını aramaya çalıştım . Garip önkoşulları olmayan hiçbir şey bulamadım ...

Bu yüzden bir CentOS 6.3 sanal makinesini açtım ve en yeni ImageMagick SRPM dosyasını oluşturdum . RepoForge deposunu da (eski adıyla RPMForge) etkinleştirmek isteyebilirsiniz . Yapı aksamadan gitti!

Sistem bilgisi:

[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

Kuruluma başlayın:

[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

Bu dosyalar oluşturuldu:

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

Paketi yükleyin:

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

Yüklü ikili dosyaları kontrol edin:

[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

Yeni yüklenen paket sürüm numarasını kontrol edin:

[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    

Zevk almak!!


Hrmmm. İlginç. RPM'yi yeniden oluşturmaya çalışırken djvulibre-devel, libwmf-devel, jasper-devel veya giflib-devel'i yüklemedim. Lemme bir şans ver.
organicveggie

RPM'yi oluşturmak için gereken * -devel paketlerinin listesi, başlangıçta rpmbuildSRPM ile karşılaştığımda aldığım hatada listelenmiştir. Ayrıca ortaya çıkan dosyayı da yükleyebilirdim ... Ama attığım adımları özetlemek istedim.
ewwhite

Bakın, önce SRPM'yi yeniden inşa etmemi söyleyen talimatları yanlışlıkla uyguladım. Her nasılsa bu adım, çalışırken eksik RPM'leri kontrol etmeme izin veriyor rpmbuild. Tuhaf. Eksik RPM'leri yüklemek işe yaradı! Son RPM'leri yapıp sorunsuz bir şekilde kurabildim. Testler ikili dosyaların mükemmel çalıştığını gösterdi. Teşekkürler!
organicveggie

10
NEDEN bana girdi? Bu gerçekten garip.
MDMarra

4
@MDMarra: Evlenmek üzeresiniz. Herhangi bir işlem için minnettar olun.
Scott Pack

5

Kimse "sorunsuz" bir alternatiften bahsetmediği için yeni bir cevap ekleyeceğim.

Resmi olmayan depoları kullanmanın bir sakıncası yoksa, http://blog.famillecollet.com/pages/Config-en adresinde açıklandığı gibi Remi deposunu etkinleştirebilirsiniz . Bundan sonra, sadece yazın

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

Ve halihazırda paketlenmiş ve her bağımlılıkla yum tarafından doğru şekilde çözülmüş ve işlenmiş en son sürümlerden birini alacaksınız. Hiçbir şey derlemeye gerek yok.

Not: Resmi web sitesinde bulabileceğiniz sürümle tam olarak güncel değil, ancak 1-2 aydan fazla değil gibi görünüyor. Örneğin, yazım sırasında en son resmi sürüm 6.8.8 (12 Ocak 2014), remi deposunda bulduğum sürüm 6.8.7 (15 Aralık 2013).


Veya bir kerelik olarak remi sudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
repo'den indirebilirsiniz

1

CentOS 7.2 ve ImageMagick 6.9.3-9 ile bu sorunu yaşadım. Çok fazla deneme yanılma sonrasında 6.9.3- 8'in işe yaradığını keşfettim , 6.9.3- 9 ise çözülemeyen bağımlılıklara sahip. Neyse ki http://rpm.pbone.net/ eski sürümün bulunduğu bir depo buldu.

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

Aşağıdakilere veya en azından aşağıdakilerden bazılarına ihtiyacınız olacak gibi görünüyor:

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

4'ün tamamını yüklemek, disk alanı kullanımında çok fazla yüke veya artışa neden olmamalıdır, ancak http://rpm.pbone.net/ adresinde 'libHalf.so.4' veya 'için arama yaptığımda bunlar iade edilen paketler. örneğin libIlmImf.so.4 '.


Açıklığa kavuşturmak için yazımı güncelleyeceğim, ancak zaten bu yola girdim. CentOS 6.3, ( örneğin) gibi daha yeni sürümleri içeren OpenEXR 1.6.1'e sahiptir . libHalflibHalf.so.6
organicveggie

0

ImageMagicK'nin geliştirme sürümüne de ihtiyacınız varsa, şunları çalıştırabilirsiniz:

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

ImagicK (PHP) bağlantılarını çalıştırmayı planlıyorsanız bu adım gerekecektir. İMagicK türünü kurmak için:

pecl imagick yükleyin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.