計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
AIX 7.1 にて ImageMagick-6.7.4-2 を構築する
必要なもの
なるべく最新の下記ライブラリをインストールしておくこと
PNGライブラリ/ZLIBライブラリ http://www.libpng.org/pub/png/pngcode.html
※特記する事はない
JPEG/JFIFライブラリ http://www.ijg.org/
※前のバージョンのライブラリはアンインストールしてから make すること
JBIGライブラリ http://www.cl.cam.ac.uk/~mgk25/jbigkit/
※make installはないので自分でライブラリやインクルードファイルを
コピーしてインストールする
TIFFライブラリ ftp://ftp.remotesensing.org/pub/libtiff
※ZLIB,JBIGに依存する
※前のバージョンのライブラリはアンインストールしてから make すること
※基本的にコンパイルにはxlcを使う
※コンフィグレーション
CC=xlc CXX=xlC CFLAGS="-Duint64=uint64_t -I/home/ocg/pub/include" LDFLAGS=-L/home/ocg/pub/lib CPPFLAGS=-I/home/ocg/pub/include ./configure --prefix=/home/ocg/pub --build=rs6000-ibm-aix
bzip2ライブラリ http://www.bzip.org/downloads.html
※特記する事はない
Ghostscript
GNU make
ソース
magick/locale.c を次のように修正
AIX は strtod_l 関数を持たないが MAGICKCORE_HAVE_STRTOD_L で隠されてしまう一部は
strtod_l とは関係なさそうに見える
93c93
< #if defined(MAGICKCORE_HAVE_STRTOD_L)
---
> /* #if defined(MAGICKCORE_HAVE_STRTOD_L) */
96c96
< #endif
---
> /* #endif */
108c108
< #if defined(MAGICKCORE_HAVE_STRTOD_L)
---
> /* #if defined(MAGICKCORE_HAVE_STRTOD_L) */
139c139
< #endif
---
> /* #endif */
コンフィグレーション
configureコマンドを実行
IBM XLコンパイラを使う場合 CC=xlc CXX=xlC ...
TrueTypeフォントを使う場合 --with-windows-font-dir=...
CC=xlc CXX=xlC \
CFLAGS="-g -O3 -I/home/ocg/pub/include" \
CXXFLAGS="-g -O3 -I/home/ocg/pub/include" \
CPPFLAGS="-I/home/ocg/pub/include" \
LDFLAGS="-g -O3 -bsvr4 -L/home/ocg/pub/lib -R/home/ocg/pub/lib" \
./configure \
--prefix=/home/ocg/pub \
--with-jpeg=no \
--with-windows-font-dir=/home/ocg/pub/share/fonts/truetype
※どうしても/usr/local/libのjpegライブラリを使ってリンクしようとする.
自分の環境では/usr/local/libには存在しない(置く権限が無い)ので,
あきらめて --with-jpeg=no とした. それでも JPEG が扱えるので無問題.
※/home/ocg/pub は /usr/local にするなど自分の環境に合わせて変更すること
ビルド
gmake
gmake check
※convert のテストでエラーが出た
インストール
gmake install
備考
大量のメモリを使うような作業では core dump することがある.
たとえば549枚の Postscript ファイルから海面高度偏差の gif 動画を作ろうとしたらできなかった(Linux Ubuntuでは無問題).
その場合, 環境変数 LDR_CNTRL を MAXDATA=0x80000000 などにセットして実行するとよい.
ただし, 実行後は LDR_CNTRL を unset すること.
参照
http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1145-01/ja_JA/HTML/am41_perftune98.htm
計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)