背景
Travis CIに入っているImageMagickはどうもEXIFが扱えない模様で
自前でビルドしてこれを使用して、テストをすることにした。
たまたま、clangを使う設定をしており、ImageMagickのビルド自体は
問題なく出来たが、make installでエラー
compiler:
- clang
問題
sudo make install
make install-am
make[1]: Entering directory `/home/travis/build/kjunichi/ImageMagick'
make[2]: Entering directory `/home/travis/build/kjunichi/ImageMagick'
/bin/mkdir -p '/usr/lib'
/bin/bash ./libtool --mode=install /usr/bin/install -c magick/libMagickCore-6.Q16.la wand/libMagickWand-6.Q16.la Magick++/lib/libMagick++-6.Q16.la '/usr/lib'
libtool: install: /usr/bin/install -c magick/.libs/libMagickCore-6.Q16.so.2.0.0 /usr/lib/libMagickCore-6.Q16.so.2.0.0
libtool: install: (cd /usr/lib && { ln -s -f libMagickCore-6.Q16.so.2.0.0 libMagickCore-6.Q16.so.2 || { rm -f libMagickCore-6.Q16.so.2 && ln -s libMagickCore-6.Q16.so.2.0.0 libMagickCore-6.Q16.so.2; }; })
libtool: install: (cd /usr/lib && { ln -s -f libMagickCore-6.Q16.so.2.0.0 libMagickCore-6.Q16.so || { rm -f libMagickCore-6.Q16.so && ln -s libMagickCore-6.Q16.so.2.0.0 libMagickCore-6.Q16.so; }; })
libtool: install: /usr/bin/install -c magick/.libs/libMagickCore-6.Q16.lai /usr/lib/libMagickCore-6.Q16.la
libtool: install: warning: relinking `wand/libMagickWand-6.Q16.la'
libtool: install: (cd /home/travis/build/kjunichi/ImageMagick; /bin/bash /home/travis/build/kjunichi/ImageMagick/libtool --silent --tag CC --mode=relink clang -I/usr/include/libxml2 -I/usr/include/libpng12 -pthread -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/OpenEXR -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/lqr-1 -I/usr/include/graphviz -I/usr/include/freetype2 -pthread -g -O2 -Wall -mtune=bdver2 -fexceptions -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -no-undefined -version-info 2:0:0 -o wand/libMagickWand-6.Q16.la -rpath /usr/lib wand/wand_libMagickWand_6_Q16_la-animate.lo wand/wand_libMagickWand_6_Q16_la-compare.lo wand/wand_libMagickWand_6_Q16_la-composite.lo wand/wand_libMagickWand_6_Q16_la-conjure.lo wand/wand_libMagickWand_6_Q16_la-convert.lo wand/wand_libMagickWand_6_Q16_la-deprecate.lo wand/wand_libMagickWand_6_Q16_la-display.lo wand/wand_libMagickWand_6_Q16_la-drawing-wand.lo wand/wand_libMagickWand_6_Q16_la-identify.lo wand/wand_libMagickWand_6_Q16_la-import.lo wand/wand_libMagickWand_6_Q16_la-magick-image.lo wand/wand_libMagickWand_6_Q16_la-magick-property.lo wand/wand_libMagickWand_6_Q16_la-magick-wand.lo wand/wand_libMagickWand_6_Q16_la-mogrify.lo wand/wand_libMagickWand_6_Q16_la-montage.lo wand/wand_libMagickWand_6_Q16_la-pixel-iterator.lo wand/wand_libMagickWand_6_Q16_la-pixel-wand.lo wand/wand_libMagickWand_6_Q16_la-stream.lo wand/wand_libMagickWand_6_Q16_la-wand.lo wand/wand_libMagickWand_6_Q16_la-wand-view.lo magick/libMagickCore-6.Q16.la -lSM -lICE -lX11 -lgomp -lm )
/home/travis/build/kjunichi/ImageMagick/libtool: line 8979: clang: command not found
libtool: install: error: relink `wand/libMagickWand-6.Q16.la' with the above command before installing it
sudoコマンドで実行した場合、clangにパスが通っていない。
解決方法
sudoコマンドで、環境変数を引き継げるとの記述も見かけて試したが、
上手く行かず、結局以下のようにした。
- sudo PATH=/usr/local/clang-3.4/bin:$PATH make install
clangのパスは
- which clang
で調べた。
関連投稿
- Travis-CIでgit cloneしたautoconfを使う - Qiita
- ImagemagickをOpenCL対応にしてみた - Qiita
- ImageMagickのMagick++ APIでEXIFを取得するには - Qiita