CentOS 6.3に最近のImageMagickをインストールする


13

私は、CentOS 6.3 x86_64サーバーにインストールされているImageMagickの最新バージョンを取得しようとしています。まず、ImageMagickサイトからRPM をダウンロードし、インストールしようとしました。依存関係がないために失敗しました:

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

libtool-ltdlインストールしましたが、それにはが含まれてlibltdl.so.7いませんlibltdl.so.4。私はと同様の問題を持ってlibHalflibIexlibIlmImflibImath。通常、OpenEXRをインストールしてこれらの依存関係を取得できます。残念ながら、CentOS 6.3にはOpenEXR 1.6.1が含まれており、これにはilmbase-devel 1.0.1が含まれています。また、ilmbase-develのそのリリースには、これらの依存関係の新しいバージョンが含まれています。

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

次に、ソースからImageMagickをインストールするための指示に従ってみました。運もありません。ビルドエラーが表示されます。

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

configuredjvuを明示的に除外するために再実行しても、同じエラーが発生します。この時点で、髪を引き抜いています。

CentOS 6.3に比較的新しいバージョンのImageMagick(> 6.7)をインストールする最も簡単な方法は何ですか?誰かが依存関係のある RPM どこかで提供していますか?


私が今まで仕事にそれを得たが、あなたがしようとする可能性がある場合、私はあまりにも、ないことを確認これで問題があった:「YUMのlibtool-ltdl-develのインストール」
user16081-JoeT

CentOS 6.3にlibtool-ltdl-devellibltdl.so.7が含まれていますが、ImageMagickにはが必要libltdl.so.3です。:(
organicveggie

.3から.7のシンボリックリンクを作成し、ImageMagickを偽装してインストールできるように、それらが十分に似ているのではないかと思います。完全なハック移動が機能する可能性があります:\
user16081-JoeT

回答:


12

あなたはこれらの問題を抱えているべきではありません...私はImageMagickの現在のバージョンの素敵な缶詰のバイナリを検索しようとしました。奇妙な前提条件のないものは見つかりませんでした...

そこで、CentOS 6.3仮想マシンをスピンアップし、最新のImageMagick SRPMファイルを作成しましたRepoForgeリポジトリ(以前RPMForge)も有効にしたい場合があります。ビルドは滞りなく行われました!

システムインフォメーション:

[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

インストールを開始します。

[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

これらのファイルが生成されました:

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

パッケージをインストールします。

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

インストールされたバイナリを確認します。

[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

新しくインストールされたパッケージのバージョン番号を確認します。

[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    

楽しい!!


うーん。面白い。RPMを再構築するときに、djvulibre-devel、libwmf-devel、jasper-devel、giflib-develをインストールしませんでした。レムはそれを試してみてください。
-organicveggie

RPMのビルドに必要な* -develパッケージのリストはrpmbuild、SRPMに対して最初に実行したときに受け取ったエラーにリストされていました。結果のファイルをアップロードすることもできます...しかし、私が行った手順の概要を説明したいと思いました。
ewwhite

参照してください、私は誤ってSRPMを最初に再構築するよう指示された指示に従いました。どういうわけか、このステップでは、実行時に欠落しているRPMのチェックをスキップできましたrpmbuild。奇妙な。不足しているRPMをインストールするとうまくいきました!最終的なRPMを構築し、問題なくインストールできました。テストでは、バイナリが完全に機能することが示されました。ありがとう!
-organicveggie

10
なぜあなたは私にSSHで接続されるのですか?これは本当に厄介です。
MDマーラ

4
@MDMarra:結婚しようとしています。行動に感謝してください。
スコットパック

5

「手間のかからない」代替案について誰も言及していないので、新しい答えを追加します。

非公式リポジトリの使用を気にしない場合は、http://blog.famillecollet.com/pages/Config-enで説明されているように、Remiリポジトリを有効にできます。その後、入力するだけ

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

そして、すでにパッケージ化されており、すべての依存関係がyumによって正しく解決および処理された最新バージョンの1つを入手できます。何も再コンパイルする必要はありません。

注:公式Webサイトで見つけることができるバージョンと正確には最新ではありませんが、1〜2か月遅れていないようです。たとえば、執筆時点で最新の公式バージョンは6.8.8(2014年1月12日)ですが、レミレポジトリで見つけたのは6.8.7(2013年12月15日)です。


または、次のオプションを使用してレミレポジトリからダウンロードできますsudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8

1

CentOS 7.2およびImageMagick 6.9.3-9でこの問題が発生しました。多くの試行錯誤の後、私は6.9.3-ことを発見した8 6.9.3-ながら、作品9は解決できない依存関係を持っています。幸いなことに、http://rpm.pbone.net/は古いバージョンのリポジトリを見つけました。

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

次のもの、または少なくとも次のいくつかが必要になるようです。

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つすべてをインストールしても、それほど大きな負担やディスク領域使用量の増加は発生しませんが、これらはhttp://rpm.pbone.net/で 'libHalf.so.4'または ' を検索したときに返されるパッケージですたとえば、libIlmImf.so.4 '。


投稿を更新して明確にしますが、すでにその道を進んでいます。CentOS 6.3にはOpenEXR 1.6.1があり、これには(たとえば)などの新しいバージョンが含まれてます。libHalflibHalf.so.6
organicveggie

0

ImageMagicKの開発バージョンもインストールする必要がある場合は、次を実行できます。

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

ImagicK(PHP)バインディングを実行する予定の場合、このステップが必要になります。iMagicKタイプをインストールするには:

peclインストールimagick

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.