Color Modes

Linuxソースからの高度なインストール

ダウンロードと展開設定ビルドインストールLinux固有のビルド手順Mac OS X固有のビルド手順MinGW固有のビルド手順予期しない問題への対処

Linuxシステムでの高度なインストールに関心がない場合は、コンパイル済みのバイナリリリースをインストールすることもできます。または、ソースからインストールしたいが、複雑な手順を避けたい場合は、簡単なソースからのインストール手順を参照してください。ただし、LinuxシステムでImageMagickの設定とインストールをカスタマイズする場合は、ここから始めましょう。

ダウンロードと展開

ImageMagickは、Linux、Solaris、FreeBSD、Mac OS Xなど、さまざまなLinuxおよびLinux系のオペレーティングシステムでビルドできます。コンパイラが必要ですが、幸いなことに、ほとんどの最新のLinuxシステムにはコンパイラが搭載されています。ImageMagick.tar.gzimagemagick.orgまたはミラーサイトからダウンロードし、配布ファイルのメッセージダイジェストと照合して検証してください。

以下のコマンドで配布ファイルを展開します。

tar xvzf ImageMagick.tar.gz

ImageMagickのLinuxソース配布ファイルを展開したので、次に設定を行います。

設定

configureスクリプトは、システム環境を調べ、ImageMagickをコンパイルしてインストールするために必要なものを決定します。これには、コンパイラの検索、コンパイラヘッダーファイル(例:stdlib.h)の場所の特定、ImageMagickが使用できるデリゲートライブラリ(例:JPEG、PNG、TIFFなど)の有無の確認などが含まれます。 configureのデフォルトオプションを受け入れ、ソースディレクトリ内でビルドする場合は、次のコマンドを入力するだけです。


    $
    cd ImageMagick-7.1.1-38
    $
    ./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コマンドラインで変数の初期値を設定することにより、コンパイラの選択、コンパイルフラグ、またはライブラリに影響を与えることができます。これらには、特に以下のものが含まれます。

CC
使用するCコンパイラの名前(例:cc -Xa)。
CXX
使用するC++コンパイラの名前(例:CC)。
CFLAGS
Cコードをコンパイルするためのコンパイラフラグ(例:-g -O2)。
CXXFLAGS
C++コードをコンパイルするためのコンパイラフラグ(例:-g -O2)。
CPPFLAGS
ヘッダーファイルを検索するためのインクルードパス(例:-I/usr/local)。
LDFLAGS
ライブラリを検索するためのライブラリパス(例:-L/usr/local)。ライブラリ実行パスをサポートするシステムでは、実行時に共有ライブラリを見つけるために追加の引数が必要になる場合があります。たとえば、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)をインストールする必要があります)。

デリゲート(以下のMAGICKプラグインを参照)を使用してビルドされたImageMagickは、追加の課題をもたらす可能性があります。 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 ピクセル量子におけるビット数(デフォルトは16)。

このオプションを使用して、ピクセル量子(赤、緑、青、およびアルファのピクセルコンポーネントのサイズ)ごとに使用するビット数を指定します。たとえば、--with-quantum-depth=8は、8ビット量子を使用してImageMagickをビルドします。ほとんどのコンピューターディスプレイアダプターは8ビット量子を使用します。現在サポートされている引数は8、16、または32です。一部の画像形式はピクセルあたり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ビットピクセル量子を使用すると、ImageMagickの実行速度が8ビットピクセル量子をサポートするようにビルドされた場合よりも15%から50%遅くなり(メモリが2倍になります)。

画像によって消費される仮想メモリの量は、式(5 * 量子深度 * 行 * 列)/ 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)のサブディレクトリ codersfilters にそれぞれインストールされます。モジュールのビルドオプションは、--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 の通常の configuremakesudo 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 指定された Perl バイナリを使用して PerlMagick を設定します。
--with-perl-options=OPTIONS Makefile.PL から PerlMagick の Makefile を生成するときに、コマンドラインで渡すオプション。

PerlMagick モジュールは通常、ImageMagick のインストール PREFIX ではなく、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/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 欠陥サポートフォーラムにバグレポートを送信してください。すべてのバグレポートには、オペレーティングシステムの種類(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 形式は失敗する可能性があります。これらのユニットテストでは、オープンセキュリティポリシーに合格する必要があります。
make clean
make によって作成されたビルドディレクトリ内のすべてを削除します。
make distclean
configuremake によって作成されたビルドディレクトリ内のすべてを削除します。これは、最初からやり直したい場合に役立ちます。
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.src.rpmimagemagick.org またはその ミラー からダウンロードし、メッセージダイジェスト に対して配布を検証します。

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

rpmbuild --rebuild ImageMagick.src.rpm

ビルド後、RPMS フォルダーを見つけて、ImageMagick バイナリ RPM ディストリビューションをインストールします


    $
    rpm -ivh ImageMagick-7.1.1-?.*.rpm

Mac OS X 固有のビルド手順

これらの手順を管理者として、またはsudoコマンドで実行します

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

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

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

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

portコマンドを使用して、必要なデリゲートライブラリをインストールします。たとえば、

sudo port install jpeg 

それでは ImageMagick をビルドしましょう

ダウンロード ImageMagick ソース配布物を メッセージダイジェスト に対して検証します。

解凍して、トップレベルの ImageMagick ディレクトリに移動します


    $
    tar xvzf ImageMagick-7.1.1-38.tar.gz
    $
    cd ImageMagick-7.1.1-38

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.1-?.tar.bz2

    $
    cd ImageMagick-7.1.1-38

    $
    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システムには、ImageMagickが依存しているライブラリを追跡するのに便利なlddコマンドがあります。

ldd `which convert` 

デリゲートライブラリ

場合によっては、以下の警告が表示されることがあります。

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

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

yum install libjpeg libjpeg-devel 

次に、ImageMagickを再設定、再ビルド、再インストールします。ImageMagick内でJPEGが正しくサポートされていることを確認するには、次のコマンドを使用します。

magick identify -list format 

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

PerlMagick

PerlMagickがlibperl.aが見つかりませんのようなメッセージでリンクに失敗した場合は、--enable-sharedまたは--enable-shared --with-modulesオプションを指定してconfigureを再実行します。