Zainstaluj najnowszą wersję ImageMagick na CentOS 6.3

13

Mam straszny czas, próbując zainstalować najnowszą wersję ImageMagick na serwerze CentOS 6.3 x86_64. Po pierwsze, ja pobrać RPM ze strony ImageMagick i starał się go zainstalować. Nie udało się to z powodu brakujących zależności:

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

Mam libtool-ltdlzainstalowany, ale zawiera libltdl.so.7, nie libltdl.so.4. Mam podobny problem z libHalf, libIex, libIlmImfi libImath. Zazwyczaj można zainstalować OpenEXR, aby uzyskać te zależności. Niestety, CentOS 6.3 zawiera OpenEXR 1.6.1, który obejmuje ilmbase-devel 1.0.1. I ta wersja ilmbase-devel zawiera nowsze wersje tych zależności:

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

Następnie spróbowałem wykonać instrukcje instalacji ImageMagick ze źródła. Tam też nie ma szczęścia. Pojawia się błąd kompilacji:

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

Uruchomiłem nawet ponownie, configureaby jawnie wykluczyć djvu i nadal otrzymuję ten sam błąd. W tym momencie wyciągam włosy.

Jaki jest najłatwiejszy sposób na zainstalowanie stosunkowo nowej wersji ImageMagick (> 6.7) na CentOS 6.3? Czy ktoś oferuje gdzieś RPM z zależnościami ?

organicveggie
źródło
Miałem też z tym problem, nie jestem pewien, czy kiedykolwiek go uruchomiłem, ale możesz spróbować: „yum install libtool-ltdl-devel”
user16081-JoeT
libtool-ltdl-develZawiera CentOS 6.3 libltdl.so.7, ale wymaga ImageMagick libltdl.so.3. :(
organicveggie,
Zastanawiam się, czy są one na tyle podobne, że można utworzyć dowiązania symboliczne od .3 do .7 i podrobić ImageMagick, aby się instalował. całkowity ruch włamania, ale może działać: \
user16081-JoeT,

Odpowiedzi:

12

Nie powinieneś mieć tych problemów ... Próbowałem poszukać ładnych, gotowych plików binarnych aktualnej wersji ImageMagick . Nie mogłem znaleźć żadnego, który nie miałby dziwnych wymagań ...

Więc obróciłem maszynę wirtualną CentOS 6.3 i zbudowałem najnowszy plik ImageMagick SRPM . Możesz także włączyć repozytorium RepoForge (wcześniej RPMForge) . Kompilacja przebiegła bez żadnych problemów!

Informacje o systemie:

[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

Rozpocznij instalację:

[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

Te pliki zostały wygenerowane:

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

Zainstaluj pakiet:

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

Sprawdź zainstalowane pliki binarne:

[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

Sprawdź numer nowej wersji pakietu:

[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    

Cieszyć się!!

ewwhite
źródło
Hmmmm. Ciekawy. Nie instalowałem djvulibre-devel, libwmf-devel, jasper-devel ani giflib-devel podczas próby odbudowania RPM. Daj mi szansę.
organicveggie,
Lista pakietów * -devel potrzebnych do zbudowania RPM została wymieniona w błędzie, który otrzymałem, gdy początkowo rpmbuilddziałałem przeciwko SRPM. Mógłbym również przesłać wynikowy plik ... Ale chciałem nakreślić kroki, które podjąłem.
ewwhite
Widzisz, przez pomyłkę postępowałem zgodnie z instrukcjami, które kazały mi najpierw odbudować SRPM. Jakoś ten krok pozwolił mi pominąć sprawdzanie brakujących RPM podczas działania rpmbuild. Dziwne. Zainstalowanie brakujących RPM załatwiło sprawę! Byłem w stanie zbudować końcowe RPM i zainstalować je bez żadnych problemów. Testy wykazały, że pliki binarne działają idealnie. Dzięki!
organicveggie
10
DLACZEGO JESTEŚMY WCHODZI DO MNIE? To jest naprawdę niezręczne.
MDMarra,
4
@MDMarra: Zaraz się ożenisz. Bądź wdzięczny za każde działanie.
Scott Pack
5

Ponieważ nikt nie wspomniał o „bezproblemowej” alternatywie, dodam nową odpowiedź.

Jeśli nie masz nic przeciwko korzystaniu z nieoficjalnych repozytoriów, możesz włączyć repozytorium Remi zgodnie z opisem tutaj http://blog.famillecollet.com/pages/Config-en . Następnie po prostu wpisz

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

Otrzymasz jedną z najnowszych dostępnych wersji, już spakowanych i przy każdej zależności poprawnie rozwiązanej i obsługiwanej przez yum. Nie trzeba niczego kompilować.

Uwaga: nie jest dokładnie aktualna w wersji, którą można znaleźć na oficjalnej stronie internetowej, ale wydaje się, że ma nie więcej niż 1-2 miesiące w tyle. Na przykład w momencie pisania najnowszej oficjalnej wersji jest 6.8.8 (12 stycznia 2014 r.), Podczas gdy ta, którą znalazłem na remo, to 6.8.7 (15 grudnia 2013 r.).

Andrea Sprega
źródło
Lub możesz pobrać z repozytorium jako jednorazowy zsudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8
1

Miałem ten problem z CentOS 7.2 i ImageMagick 6.9.3-9. Po wielu prób i błędów odkryłem, że 6.9.3- 8 prac, natomiast 6.9.3- 9 ma zależności, które nie doprowadzą do rozwiązania. Na szczęście http://rpm.pbone.net/ znalazł repozytorium ze starszą wersją.

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
źródło
0

Wygląda na to, że będziesz potrzebować następujących lub przynajmniej niektórych z poniższych:

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

Zainstalowanie wszystkich 4 nie powinno powodować tak dużego obciążenia lub zwiększenia wykorzystania miejsca na dysku, ale są to pakiety zwracane, gdy szukałem na http://rpm.pbone.net/ wyrażenia „libHalf.so.4” lub „ na przykład libIlmImf.so.4 '.

bmurtagh
źródło
Zaktualizuję mój post, aby wyjaśnić, ale już poszedłem tą ścieżką. CentOS 6.3 ma OpenEXR 1.6.1, który zawiera nowsze wersje takich rzeczy libHalf( libHalf.so.6na przykład).
organicveggie,
0

Jeśli potrzebujesz również zainstalowanej wersji programistycznej ImageMagicK, możesz uruchomić:

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

Ten krok będzie wymagany, jeśli planujesz uruchomić powiązania ImagicK (PHP). Aby zainstalować typ iMagicK:

pecl zainstaluj imagick

John B.
źródło