ダウンロードと展開 • 設定 • ビルド • インストール • Linux固有のビルド手順 • Mac OS X固有のビルド手順 • MinGW固有のビルド手順 • 予期しない問題への対処
Linuxシステムでの高度なインストールに関心がない場合は、コンパイル済みのバイナリリリースをインストールすることもできます。または、ソースからインストールしたいが、複雑な手順を避けたい場合は、簡単なソースからのインストール手順を参照してください。ただし、LinuxシステムでImageMagickの設定とインストールをカスタマイズする場合は、ここから始めましょう。
ダウンロードと展開
ImageMagickは、Linux、Solaris、FreeBSD、Mac OS Xなど、さまざまなLinuxおよびLinux系のオペレーティングシステムでビルドできます。コンパイラが必要ですが、幸いなことに、ほとんどの最新のLinuxシステムにはコンパイラが搭載されています。ImageMagick.tar.gzをimagemagick.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)のサブディレクトリ 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 | 指定された 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
- 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.src.rpm を imagemagick.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を再実行します。