sci

最果て風呂

続 ImageMagick をビルドする

年末に一瞬 7.0.0 のアナウンスがあったような気がするのだけれど、6.9.2-x に戻ってしまった。何か問題があったのかな?さて、この度 6.9.3 がリリースされたのでこちらをビルドすることにした。

前回png が有効にならなくてあれこれと作業をしたのだが、今回は jpegtiff が有効にならないのだった。何だかんだでオプションに LDFLAGS=-L/usr/local/lib を付けると認識するようになり、ビルドも完了した。もう /usr/local/ 以下はデフォルトで見てくれない時代なのかな?pkg-config をインストールしてから上手くいかないことばかりだわ。

以上。

上記の結果に辿り付くまでに、種々のライブラリもアップデートしたのでメモ。必要なライブラリは ここ にまとまってある。

pkg-config

0.29 をビルドした。glib をインストールしていないので下記のオプションが必要。

./configure CC=clang --with-internal-glib

しかし、下記のエラーが出てビルドができなかった。どうやら同包されている glib に問題があるみたい。ちなみに 0.28 は警告はでるもののビルドは完了する。

Undefined symbols for architecture x86_64:
"_CFRelease", referenced from:
_find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
"_CFStringGetCString", referenced from:
_find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
"_CFStringGetCStringPtr", referenced from:
_find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
"_CFStringGetLength", referenced from:
_find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
"_CFURLCopyFileSystemPath", referenced from:
_find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
"_CFURLCreateFromFSRef", referenced from:
_find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
"_FSFindFolder", referenced from:
_find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
"_kCFAllocatorSystemDefault", referenced from:
_find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

StackOverflow によると、下記のオプションにすれば良いとのこと。

./configure LDFLAGS="-framework CoreFoundation -framework Carbon" --with-internal-glib

何で今時 Carbon ?と思うけど、ビルドできたので良しとする。

libpng

1.6.20 にアップデートした。

make -f scripts/makefile.darwin CC=clang ZLIBLIB=/usr/local/lib ZLIBINC=/usr/local/include

libjpeg

リビルドした。

libtiff

4.0.6 をビルドした。コンフィグオプションは下記のように jpeg の場所を教えないとダメになってしまった。

./configure --with-jpeg-include-dir=/usr/local/include --with-jpeg-lib-dir=/usr/local/lib