⚠️ これは 非公式の翻訳サイトです。ImageMagick Studio LLC とは無関係です。正確な情報は 原文(https://imagemagick.org/advanced-linux-installation/) を参照してください。

ダウンロードと展開 • 構成 • ビルド • インストール • Linux 固有のビルド手順 • macOS 固有のビルド手順 • MinGW 固有のビルド手順 • 予期しない問題への対処

Linux や Linux 系システムでの高度なインストールに煩わされたくない場合もあるでしょう。その場合は、コンパイル済みの バイナリリリース をインストールする選択肢もありますし、面倒なことなしにソースからインストールしたいなら簡単な ソースからのインストール 手順を参照してください。しかし、Linux や Linux 系システムで ImageMagick の構成とインストールをカスタマイズしたいなら、始めましょう。

ダウンロードと展開

ImageMagick は、Linux・Solaris・FreeBSD・macOS など、さまざまな Linux および Linux 風オペレーティングシステムでビルドできます。コンパイラが必要ですが、幸いほとんどすべての現代的な Linux システムにはそれが備わっています。GitHub から ImageMagick-7.1.2-25.7z をダウンロードします。

次のコマンドで配布物を展開します。

tar xvzf ImageMagick.tar.gz

ImageMagick の Linux/Linux ソース配布物を展開したので、構成しましょう。

構成

configure スクリプトはあなたの環境を調べ、ImageMagick をコンパイル・インストールするために何を寄せ集められるかを判断します。これには、コンパイラの発見、コンパイラのヘッダーファイルの場所(例: stdlib.h)の特定、ImageMagick が使えるデリゲートライブラリ(例: JPEG・PNG・TIFF など)が利用可能かどうかの確認が含まれます。configure のデフォルトオプションを受け入れ、ソースディレクトリ内からビルドしてよければ、単純に次を入力します。

cd ImageMagick-7.1.2-25
./configure

configure スクリプトの出力を見て、見つかるべきと思うものをすべて見つけているか確認してください。特にスクリプト出力の最後の行に注目してください。たとえば、以下は私たちのシステムからの最近のレポートです。

ImageMagick is configured as follows. Please verify that this configuration
matches your expectations.

Host system type: x86_64-unknown-linux-gnu
Build system type: x86_64-unknown-linux-gnu

                  Option                     Value
-------------------------------------------------------------------------------
Shared libraries  --enable-shared=yes       yes
Static libraries  --enable-static=yes       yes
Module support    --with-modules=yes        yes
GNU ld            --with-gnu-ld=yes     yes
Quantum depth     --with-quantum-depth=16   16
High Dynamic Range Imagery
                  --enable-hdri=no      no

Delegate Configuration:
BZLIB             --with-bzlib=yes      yes
Autotrace         --with-autotrace=yes  yes
DJVU              --with-djvu=yes       no
DPS               --with-dps=yes        no
FlashPIX          --with-fpx=yes        no
FontConfig        --with-fontconfig=yes yes
FreeType          --with-freetype=yes       yes
GhostPCL          None          pcl6 (unknown)
GhostXPS          None          gxps (unknown)
Ghostscript       None          gs (8.63)
result_ghostscript_font_dir='none'
Ghostscript fonts --with-gs-font-dir=default
Ghostscript lib   --with-gslib=yes      no (failed tests)
Graphviz          --with-gvc=yes        yes
JBIG              --with-jbig=      no
JPEG v1           --with-jpeg=yes       yes
JPEG-2000         --with-jp2=yes        yes
LCMS              --with-lcms=yes       yes
LQR               --with-lqr=yes        no
Magick++          --with-magick-plus-plus=yes   yes
OpenEXR           --with-openexr=yes        yes
PERL              --with-perl=yes       /usr/bin/perl
PNG               --with-png=yes        yes
RSVG              --with-rsvg=yes       yes
TIFF              --with-tiff=yes       yes
result_windows_font_dir='none'
Windows fonts     --with-windows-font-dir=
WMF               --with-wmf=yes        yes
X11               --with-x=         yes
XML               --with-xml=yes        yes
ZLIB              --with-zlib=yes       yes

X11 Configuration:
      X_CFLAGS        =
      X_PRE_LIBS      = -lSM -lICE
      X_LIBS          =
      X_EXTRA_LIBS    =

Options used to compile and link:
  PREFIX          = /usr/local
  EXEC-PREFIX     = /usr/local
  VERSION         = 6.4.8
  CC              = gcc -std=gnu99
  CFLAGS          = -fopenmp -g -O2 -Wall -W -pthread
  MAGICK_CFLAGS   = -fopenmp -g -O2 -Wall -W -pthread
  CPPFLAGS        = -I/usr/local/include/ImageMagick
  PCFLAGS         = -fopenmp
  DEFS            = -DHAVE_CONFIG_H
  LDFLAGS         = -lfreetype
  MAGICK_LDFLAGS  = -L/usr/local/lib -lfreetype
  LIBS            = -lMagickCore-Q16 -llcms -ltiff -lfreetype -ljpeg -lfontconfig -lXext
                    -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl
  CXX             = g++
  CXXFLAGS        = -g -O2 -Wall -W -pthread

configure コマンドラインで変数の初期値を設定することで、configure スクリプトのコンパイラ・コンパイルフラグ・ライブラリの選択に影響を与えられます。これには、とりわけ次のものがあります。

CC
使用する C コンパイラの名前(例: cc -Xa)。
CXX
使用する C++ コンパイラの名前(例: CC)。
CFLAGS
C コードをコンパイルするためのコンパイラフラグ(例: -g -O2)。
CXXFLAGS
C++ コードをコンパイルするためのコンパイラフラグ(例: -g -O2)。
CPPFLAGS
ヘッダーファイルを探すインクルードパス(例: -I/usr/local)。
LDFLAGS
ライブラリを探すライブラリパス(例: -L/usr/local)。ライブラリ実行パス(run-path)の概念をサポートするシステムでは、実行時に共有ライブラリを見つけるために追加の引数が必要なことがある。たとえば Solaris のリンカは -R/path 形式の引数を必要とする。一部の Linux システムは -rpath /usr/local/lib で動作するが、gcc が -rpath をリンカに渡さない他の Linux システムでは -Wl,-rpath,/usr/local/lib 形式の引数が必要。
LIBS
リンクに必要な追加ライブラリ(例: -l/usr/local/lib)。

コマンドラインから configure 変数を設定する例を以下に示します。

configure CC=c99 CFLAGS=-O2 LDFLAGS='-L/usr/local/lib -R/usr/local/lib' LIBS=-lposix

ディレクトリパスを必要とする変数(例: CPPFLAGS や LDFLAGS)は、相対パスではなく絶対パスを指定する必要があります。

configure は通常 X のインクルードファイルとライブラリファイルを自動的に見つけられますが、見つからない場合は --x-includes=path と --x-libraries=path オプションでその場所を指定できます。

configure スクリプトは多数の ImageMagick 固有のオプションを提供します。オプションを無効化する際、--disable-something は --enable-something=no の指定と等価で、--without-something は --with-something=no と等価です。configure オプションは以下のとおりです(すべてのオプションを見るには configure --help を実行してください)。

ImageMagick のオプションは、有効化・無効化される機能か、ビルドに含めるパッケージのいずれかを表します。機能が有効化される(--enable-something 経由)と、ImageMagick にすでに存在するコードが有効になります。パッケージが有効化される(--with-something 経由)と、configure スクリプトはそれを探し、適切にインストールされ使用可能であれば(ヘッダーとビルド済みライブラリがコンパイラに見つかれば)ビルドに含めます。configure スクリプトは、すべての機能を無効・すべてのパッケージを有効にした状態で配布されます。一般に、パッケージを無効化する唯一の理由は、パッケージが存在するがビルドに適さない(古いバージョンか、正しいコンパイルフラグでコンパイルされていない可能性)場合です。

構成できる任意の機能は以下のとおりです。

--enable-shared

共有ライブラリと、コーダー・プロセスモジュールのロードのサポートをビルドする。共有ライブラリは、プログラム間で共通コードを共有でき、個々のプログラムをはるかに小さくできるため好ましい。さらに、インストール済みの PERL によって PerlMagick を動的にロードするには共有ライブラリが必要(そうでなければ追加の PERL(PerlMagick)をインストールする必要がある)。 ImageMagick をデリゲート付きでビルドする(後述の MAGICK プラグインを参照)と、追加の課題が生じることがある。ImageMagick が静的ライブラリ(--enable-shared なしのデフォルト)でビルドされる場合、デリゲートライブラリは静的ライブラリでも共有ライブラリでもよい。しかし ImageMagick が共有ライブラリでビルドされる場合、すべてのデリゲートライブラリも共有ライブラリとしてビルドされる必要がある。静的ライブラリは通常 .a 拡張子を持ち、共有ライブラリは典型的に .so・.sa・.dll などの拡張子を持つ。共有ライブラリ内のコードは通常、位置独立コード(PIC)を生成する特別なコンパイラオプションを使ってコンパイルされる必要がある。これが不要なのは、プラットフォームがデフォルトでコードを PIC としてコンパイルする場合のみ。 PIC コンパイルフラグはベンダーごとに異なる(gcc では -fPIC)。ただし、すべての共有ライブラリソースを同じフラグでコンパイルする必要がある(gcc では -fpic ではなく -fPIC を使う)。静的ライブラリは通常 ar のようなアーカイブツールで作成されるが、共有ライブラリは特別なリンカ・コンパイラオプション(gcc では -shared など)でビルドされる。 --enable-shared が指定されない場合、PerlMagick 拡張と静的にリンクされた新しい PERL インタプリタ(PerlMagick)がビルドされる。この新しいインタプリタは ImageMagick ユーティリティと同じディレクトリにインストールされる。--enable-shared が指定された場合、PerlMagick 拡張は動的にロード可能なオブジェクトとしてビルドされ、実行時に現在の PERL インタプリタへロードされる。動的ロード拡張の使用は静的リンク拡張より好ましいので、可能なら --enable-shared を使うこと(なお、ImageMagick で使うすべてのライブラリは共有ライブラリでなければならない!)。 --disable-static

静的アーカイブライブラリ(拡張子 .a)をビルドしない。共有ライブラリをビルドしている場合、静的ライブラリをビルドする価値はほとんどない。静的ライブラリをビルドする理由には次がある: 1) デバッグが容易、2) クライアントが外部依存(libMagick.so など)を持たない、3) デリゲートライブラリの PIC 版ビルドに追加の専門知識と労力が必要、4) 共有ライブラリをビルドできない。 --disable-installed

インストール済み ImageMagick のビルドを無効にする(デフォルトは有効)。 デフォルトでは、ImageMagick のビルドはディレクトリツリーへ正式にインストールするよう構成される。これは ImageMagick をインストールする最も安全で信頼できる方法。このオプションを使うと、ハードコードされたパスを使わず、実行可能ファイル(または MAGICK_HOME 環境変数で指定された場所)からのオフセットパスを計算してサポートファイルを見つけるよう ImageMagick を構成する。非インストール構成は、任意の場所で展開・実行されることが期待されるバイナリ配布に理想的。 --enable-ccmalloc

'ccmalloc' メモリデバッグサポートを有効にする(デフォルトは無効)。 --enable-prof

'prof' プロファイリングサポートを有効にする(デフォルトは無効)。 --enable-gprof

'gprof' プロファイリングサポートを有効にする(デフォルトは無効)。 --enable-gcov

'gcov' プロファイリングサポートを有効にする(デフォルトは無効)。 --disable-openmp

OpenMP を無効にする(デフォルトは有効)。 特定の ImageMagick アルゴリズム、たとえば畳み込みは、現代的なデュアル・クアッドコアプロセッサで動作する際、OpenMP API の助けで大幅な高速化を達成できる。 --disable-largefile

大きな(64 ビット)ファイルオフセットのサポートを無効にする。 デフォルトでは、オペレーティングシステムが大きなファイルをサポートする場合、ImageMagick は大きなファイル(32 ビット CPU で 2GB 超)のサポート付きでコンパイルされる。ImageMagick ライブラリを使う一部のアプリケーションも大きなファイルのサポートを必要とすることがある。--disable-largefile で大きなファイルのサポートを無効にすると、依存アプリケーションはライブラリを使うために大きなファイル用の特別なコンパイルオプションを必要としなくなる。

構成できる任意のパッケージは以下のとおりです。

--with-quantum-depth

1 画素量子のビット数(デフォルト 16)。 このオプションで、1 画素量子あたりに使うビット数(赤・緑・青・アルファの画素成分のサイズ)を指定する。たとえば --with-quantum-depth=8 は 8 ビット量子で ImageMagick をビルドする。ほとんどのコンピュータディスプレイアダプタは 8 ビット量子を使う。現在サポートされる引数は 8・16・32。一部の画像形式が 1 画素あたり 16 ビットをサポートするため、デフォルトの 16 を推奨する。ただしこのオプションは ImageMagick の全体的な実行時性能を決める上で重要。 量子のビット数は、それが含められる値の数を決める。各量子レベルは前のレベルの 256 倍の値をサポートする。次の表はさまざまな量子サイズで利用可能な範囲を示す。

Quantum Depth     Valid Range (Decimal)   Valid Range (Hex)
    8             0-255                   00-FF
   16             0-65535                 0000-FFFF
   32             0-4294967295            00000000-FFFFFFFF

より大きな画素量子は、ImageMagick の動作を遅くし、より多くのメモリを必要とさせることがある。たとえば 16 ビット画素量子の使用は、8 ビット画素量子をサポートするビルドより ImageMagick の動作を 15%〜50% 遅くする(そしてメモリを 2 倍消費する)ことがある。 画像が消費する仮想メモリ量は、式 (5 * Quantum Depth * Rows * Columns) / 8 で計算できる。これはリソースが限られているときの重要な検討事項で、特に画像処理では一度に複数の画像をメモリに置く必要がある場合があるため。次の表は 1024x768 画像のメモリ消費値を示す。

Quantum Depth   Virtual Memory
     8               3MB
    16               8MB
    32              15MB

--enable-hdri

広い範囲の強度レベルを正確に表現する。 --enable-osx-universal-binary

OS X でユニバーサルバイナリをビルドする。 --without-modules

動的にロード可能なモジュールのサポートを無効にする。 画像コーダーとプロセスモジュールはロード可能なモジュールとしてビルドされ、ディレクトリ [prefix]/lib/ImageMagick-X.X.X/modules-QN('N' は量子深度に応じて 8・16・32)の coders・filters サブディレクトリにそれぞれインストールされる。モジュールビルドオプションは --enable-shared と併用する場合のみ利用可能。--enable-shared も指定されない場合、モジュールビルドのサポートは無効になる。なお --enable-shared と --disable-modules が指定された場合、モジュールローダーは有効(モジュールを所定の場所にコピーするだけでインストール済み ImageMagick を拡張できる)だが、ImageMagick 自体はモジュールを使ってビルドされない。 --with-cache

画素キャッシュしきい値を設定する(デフォルトは利用可能メモリ)。 このオプションで異なる画像画素キャッシュしきい値を指定する。これは、生の画素データを格納するためにメモリマップ一時ファイルの使用に切り替える前に ImageMagick が消費を許されるヒープメモリの最大量を設定する。 --without-threads

スレッドサポートを無効にする。 デフォルトでは、ImageMagick ライブラリはマルチスレッドサポート付きでコンパイルされる。これが望ましくない場合、--without-threads を指定する。 --with-frozenpaths

凍結されたデリゲートパスを有効にする。 通常、外部プログラム名はフルパスなしで delegates.xml 設定ファイルに置き換えられる。このオプションを指定すると、configure が決定した場所を使ってプログラムへのフルパスの保存を有効にする。プログラムが複数のパス下に格納され、ユーザーが ImageMagick をビルドした人と異なる PATH 設定を使う環境で役立つ。 --without-magick-plus-plus

Magick++ のビルド/インストールを無効にする。 ImageMagick の C++ アプリケーションプログラミングインターフェイスである Magick++ のビルドを無効にする。Magick++ をビルドするには適切な C++ コンパイラが必要。使う C++ コンパイラを選ぶには CXX configure 変数を(デフォルト g++)、希望のコンパイラ最適化・デバッグフラグを選ぶには CXXFLAGS を(デフォルト -g -O2)指定する。古い C++ コンパイラは通常 configure テストで拒否されるので、このオプションの指定が必要なのは Magick++ のコンパイルが失敗する場合のみ。 --without-perl

PerlMagick のビルド/インストールを無効にする、または デフォルトでは、PerlMagick は ImageMagick の通常の configure・make・sudo make install プロセスの一部として便利にコンパイル・インストールされる。--without-perl が指定された場合、まず ImageMagick をインストールし、PerlMagick ソース配布物をダウンロードしてビルドし、最後に PerlMagick をインストールする必要がある。なお --without-perl が指定されても PerlMagick は構成される。引数 --with-perl=/path/to/perl が与えられると、/path/to/perl が使う PERL インタプリタとして扱われる。PATH 内の perl 実行可能ファイルが PERL5 でない、または使いたい PERL でない場合に重要。 --with-perl=PERL

PerlMagick の構成に指定の Perl バイナリを使う。 --with-perl-options=OPTIONS

Makefile.PL から PerlMagick の Makefile を生成する際にコマンドラインで渡すオプション。 PerlMagick モジュールは通常、ImageMagick のではなく Perl インタプリタのインストール PREFIX を使ってインストールされる。ImageMagick のインストールプレフィックスが PERL の PREFIX と同じでない場合、PerlMagick の sudo make install ステップが書き込み権限のないディレクトリツリーへインストールしようとすることがある。これは PERL がオペレーティングシステムとともに配布される場合や、インターネットサービスプロバイダ(ISP)の Web サーバーでよく起こる。PerlMagick を別の場所にインストールしたい場合、"--with-perl-options=PREFIX=/some/place" 経由で PERL の構成ステップへ PREFIX オプションを提供する。MakeMaker が受け付ける他のオプションは 'LIB'・'LIBPERL_A'・'LINKTYPE'・'OPTIMIZE'。PERL 拡張の構成の詳細は ExtUtils::MakeMaker(3) マニュアルページを参照。 --without-bzlib

BZLIB サポートを無効にする。 --without-dps

Display Postscript サポートを無効にする。 --with-fpx

FlashPIX サポートを有効にする。 --without-freetype

TrueType サポートを無効にする。 --with-gslib

Ghostscript ライブラリサポートを有効にする。 --without-jbig

JBIG サポートを無効にする。 --without-jpeg

JPEG サポートを無効にする。 --without-jp2

JPEG v2 サポートを無効にする。 --without-lcms

LCMS サポートを無効にする。 --without-lzma

LZMA サポートを無効にする。 --without-png

PNG サポートを無効にする。 --without-tiff

TIFF サポートを無効にする。 --without-wmf

WMF サポートを無効にする。 --with-fontpath

デフォルトのフォント検索パスの先頭に追加する。 --with-gs-font-dir

Ghostscript フォントを含むディレクトリ。 Ghostscript Postscript Type 1 フォントファイル(例: n022003l.pfb)を含むディレクトリを指定し、FreeType ライブラリでレンダリングできるようにする。フォントファイルがデフォルトの Ghostscript インストールパス(${prefix}/share/ghostscript/fonts)にインストールされていれば、configure が自動的に発見するはずで、このオプションの指定は不要。Ghostscript フォントが自動的に見つからない、または場所を上書きする必要がある場合にこのオプションを指定する。 --with-windows-font-dir

MS-Windows フォントを含むディレクトリ。 MS-Windows 互換フォントを含むディレクトリを指定する。ImageMagick が MS-Windows 下で動作している場合は不要。 --without-xml

XML サポートを無効にする。 --without-zlib

ZLIB サポートを無効にする。 --without-x

X Window System を使わない。 デフォルトでは、ImageMagick は X11 デリゲートライブラリが利用可能ならそれを使う。--without-x が指定されると X11 の使用が無効になる。display・animate・import サブコマンドは含まれない。残りのサブコマンドは、X11 フォントへのアクセスがないなど機能が制限される(代わりに Postscript や TrueType フォントの使用を検討)。 --with-share-path=DIR

share ディレクトリの代替パス(デフォルト share/ImageMagick)。 --with-libstdc=DIR

DIR の libstdc++ を使う(GNU C++ 用)。

configure は ImageMagick のインストールを容易にするよう設計されていますが、後で ImageMagick をコンパイルする際に遭遇するであろう問題をしばしば発見します。configure スクリプトは、指定のコンパイルフラグ(CFLAGS)・プリプロセッサフラグ(CPPFLAGS)・リンカフラグ(LDFLAGS)でコンパイラ(CC)を実行してヘッダーとライブラリをテストします。エラーはすべて config.log ファイルに記録されます。configure がヘッダーやライブラリの発見に失敗した場合は、このログファイルを確認して理由を判断してください。ただし、configure は何かを試して失敗するかを見ることで動作するため、config.log のエラーは正常です。config.log のエラーが問題となるのは、そのテストがあなたのシステムで成功すべきだった場合のみです。

configure 失敗の一般的な原因は次のとおりです。1) デリゲートヘッダーがヘッダーインクルードパス(CPPFLAGS の -I オプション)にない、2) デリゲートライブラリがリンカの検索/実行パス(LDFLAGS の -L/-R オプション)にない、3) デリゲートライブラリに関数が欠けている(古いバージョン?)、4) コンパイル環境に欠陥がある。

あらゆる妥当な是正策を試しても問題が configure スクリプトの欠陥によるように見える場合は、ImageMagick Defect Support Forum にバグレポートを送ってください。すべてのバグレポートには、オペレーティングシステムのタイプ(uname -a で報告される)とコンパイラ/コンパイラバージョンを含めてください。configure スクリプトの出力のコピーや config.log ファイルの該当部分が、問題発見に役立つことがあります。config.log の一部を投稿する場合は、観測している失敗を特定・解決できるよう、configure 出力のスクリプトと、何を見ることを期待したか(そしてなぜか)の説明も送ってください。

ImageMagick が構成され、ビルドの準備ができました。

ビルド

ImageMagick が構成されると、生成された make ファイルから次の標準ビルドターゲットが利用できます。

make
ImageMagick をビルドする。
sudo make install
ImageMagick をインストールする。
make check
インストール済みの ImageMagick を使ってテストを実行する(先に sudo make install が必要)。Ghostscript と Freetype が前提条件で、そうでないとテキストや EPS・PS・PDF 形式をレンダリングする一部のユニットテストはおそらく失敗する。これらのユニットテストは合格に open セキュリティポリシーを必要とする。
make clean
make が作成したビルドディレクトリ内のすべてを削除する。
make distclean
configure と make が作成したビルドディレクトリ内のすべてを削除する。一から始めたい場合に役立つ。
make uninstall
現在の構成で sudo make install によってインストールされる(であろう)すべてのファイルをシステムから削除する。Perl はもはや uninstall ターゲットをサポートしないため、このターゲットは PerlMagick については不完全。

ほとんどの場合、単に次のコマンドで ImageMagick をコンパイルしたいだけでしょう。

make

ビルドしたら、以下で説明するように任意で ImageMagick をシステムにインストールできます。

インストール

ImageMagick が構成・ビルドされたので、次を入力します。

make install

これでインストールされます。

デフォルトでは、ImageMagick はバイナリを /usr/local/bin に、ライブラリを /usr/local/lib に、ヘッダーファイルを /usr/local/include に、ドキュメントを /usr/local/share にインストールします。configure に --prefix=PATH オプションを与えることで、/usr/local 以外の代替インストールプレフィックスを指定できます。デフォルトパス下にインストールする権限がない場合や、代わりにシステムディレクトリへインストールしたい場合に有用です。

ImageMagick 配布物のインストールが成功したことを確認するには、インストールディレクトリが実行可能ファイルの検索パスにあることを確認し、次を入力します。

magick logo: logo.gif
identify logo.gif

ImageMagick ロゴが X11 ディスプレイに表示されます。

ImageMagick のビルド構成を確認するには、次を入力します。

magick identify -list configure

どの画像形式がサポートされているかを一覧するには、次を入力します。

magick identify -list format

より包括的なテストとして、次を入力して ImageMagick テストスイートを実行できます。

make check

Ghostscript が前提条件で、そうでないと EPS・PS・PDF テストは失敗します。なお、開発者の環境とあなたの環境の違いにより、結果が正しくても少数のテストが失敗する可能性があります。開発者の環境とあなたの環境の違いには、コンパイラ・CPU タイプ・使用ライブラリバージョンが含まれます。ImageMagick 開発者はすべての依存ライブラリの現行リリースを使っています。

Linux 固有のビルド手順

imagemagick.org またはその ミラー から ImageMagick.src.rpm をダウンロードします。

次のコマンドで ImageMagick をビルドします。

rpmbuild --rebuild ImageMagick.src.rpm

ビルド後、RPMS フォルダを見つけて ImageMagick バイナリ RPM 配布物をインストールします。

rpm -ivh ImageMagick-7.1.2.-?.*.rpm

macOS 固有のビルド手順

これらのステップを管理者として、または sudo コマンドで実行します。

MacPorts をインストールします。MacPorts をダウンロード・インストールし、次のコマンドを入力します。

sudo port -v install freetype +bytecode
sudo port -v install librsvg
sudo port -v install graphviz +gs +wmf +jbig +jpeg2 +lcms

これにより、JPEG や FreeType など ImageMagick が利用するデリゲートライブラリの多くがインストールされます。

Apple から最新の Xcode をインストールします。

port コマンドで必要なデリゲートライブラリをインストールします。例:

sudo port install jpeg

では ImageMagick をビルドしましょう。

ImageMagick ソース配布物を ダウンロード し、その 来歴 に対して配布物を検証します。

展開してトップレベルの ImageMagick ディレクトリへ移動します。

tar xvzf ImageMagick-7.1.2-25.tar.gz
cd ImageMagick-7.1.2-25

ImageMagick を構成します。

./configure --prefix=/opt --with-quantum-depth=16 \
  --disable-dependency-tracking --with-x=yes \
  --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib/ \
  --without-perl"

ImageMagick をビルドします。

make

ImageMagick をインストールします。

sudo make install

インストールを確認するには、次を入力して

/opt/local/bin/identify -list font

ImageMagick が知っているすべてのフォントを一覧します。

ImageMagick の GUI をテストするには、新しいシェルで次を入力します。

display -display :0

MinGW 固有のビルド手順

デリゲートライブラリは自分でダウンロード・インストールできますが、多くはすでに GnuWin32 配布物で利用可能です。JPEG・PNG・TIFF など必要なデリゲートライブラリをダウンロード・インストールします。パッケージのインストール時には開発ヘッダーを指定するようにしてください。次に、次を入力します。

tar jxvf ImageMagick-7.1.2-?.tar.bz2
cd ImageMagick-7.1.2-25
export CPPFLAGS="-Ic:/Progra~1/GnuWin32/include"
export LDFLAGS="-Lc:/Progra~1/GnuWin32/lib"
./configure --without-perl
make
sudo make install

予期しない問題への対処

おそらく ImageMagick のダウンロード・構成・ビルド・インストールは意図どおり滞りなく進んだでしょうが、特定のシステムや環境では 1 つ以上のステップが失敗することがあります。私たちが遭遇したいくつかの問題と、動作する ImageMagick リリースを確保するための是正策を説明します。

ビルドの問題

ビルドが依存関係の欠如(例: .deps/source.PLO)を訴える場合、configure コマンドラインに --disable-dependency-tracking を追加します。

一部のシステムでは、未解決のシンボルによりビルド時のリンクに失敗することがあります。configure コマンドラインに LDFLAGS を追加してみてください。

configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib'

動的リンカの実行時バインディング

一部のシステムでは、ImageMagick がその共有ライブラリ libMagick.so を見つけられないことがあります。ライブラリパスを指定して ldconfig を実行してみてください。

/sbin/ldconfig /usr/local/lib

Solaris と Linux システムには ldd コマンドがあり、ImageMagick が依存するライブラリを追跡するのに役立ちます。

ldd `which convert`

デリゲートライブラリ

ときどき次の警告を受け取ることがあります。

no decode delegate for this image format
no encode delegate for this image format

この例外は、ImageMagick のビルド時に外部デリゲートライブラリまたはそのヘッダーが利用できなかったことを示します。画像形式のサポートを追加するには、必要なデリゲートライブラリとそのヘッダーファイルをダウンロード・インストールし、ImageMagick を再構成・再ビルド・再インストールします。例として、JPEG 画像形式のサポートを追加しましょう。まず JPEG RPMS をインストールします。

yum install libjpeg libjpeg-devel

では ImageMagick を再構成・再ビルド・再インストールします。JPEG が ImageMagick 内で適切にサポートされたことを確認するには、次のコマンドを使います。

magick identify -list format

JPEG タグに関連付けられた rw- のモードが見えるはずです。このモードは画像が読み書きでき、画像ファイルあたり 1 画像のみをサポートできることを意味します。

PerlMagick

PerlMagick が libperl.a is not found のようなメッセージでリンクに失敗する場合、--enable-shared または --enable-shared --with-modules オプションで configure を再実行します。