rmagickのインストールでMagickWand.hのエラー発生
- MacOS Sierra 10.12.2
- ruby 2.3.3
rmagickのインストール
今回、かなり手こずりました・・・
まずはImageMagickを何も考えずにインストール。
(これが後の元凶だったことを知ることに・・・)
次にrmagickをインストール
[shell]
$ bundle exec gem install rmagick -v ‘2.16.0’
[/shell]
すると、このようなエラーメッセージが・・・
Building native extensions. This could take a while... ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. current directory: /Users/toshi/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rmagick-2.16.0/ext/RMagick /Users/toshi/.rbenv/versions/2.3.3/bin/ruby -r ./siteconf20170127-53607-ux29n9.rb extconf.rb checking for clang... yes checking for Magick-config... no checking for pkg-config... yes checking for outdated ImageMagick version (<= 6.4.9)... no checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no checking for Ruby version >= 1.8.5... yes checking for stdint.h... yes checking for sys/types.h... yes checking for wand/MagickWand.h... no Can't install RMagick 2.16.0. Can't find MagickWand.h. *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/toshi/.rbenv/versions/2.3.3/bin/$(RUBY_BASE_NAME) To see why this extension failed to compile, please check the mkmf.log which can be found here: /Users/toshi/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/rmagick-2.16.0/mkmf.log extconf failed, exit code 1 Gem files will remain installed in /Users/toshi/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rmagick-2.16.0 for inspection. Results logged to /Users/toshi/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/rmagick-2.16.0/gem_make.out
15〜18行目にあるエラーメッセージが気になります。
checking for wand/MagickWand.h... no Can't install RMagick 2.16.0. Can't find MagickWand.h. *** extconf.rb failed ***
調べてみたらC_INCLUDE_PATHを設定すればいいらしい。
[shell]
$ C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/7.0.4-5/include/ImageMagick-7/MagickWand/ gem install rmagick -v ‘2.16.0’
[/shell]
再度トライ
でも同じエラーメッセージが・・・
ImageMagickを再インストールしたり、
Rubyの別バージョンでも試してみたりしたんですが、
同じ結果で途方にくれました。
checking for wand/MagickWand.h... no
という行も気になりましたが解決方法は分からず・・・
MagickWand.hというヘッダファイルはあるんですがwandの中にはないんですよね・・・
解決したのはこちらのサイトのおかげ
何も考えずにインストールしたImageMagickでしたが、バージョンが問題だったみたいです。
ImageMagick 6系までしかrmagickが対応していないみたいですね。
[shell]
$ brew info imagemagick
[/shell]
でもバージョンを確認できます。
バージョンが固定されてしまうのでこちらを参考に戻す方法も教えてもらいました。
ImageMagickの過去バージョンをインストールする方法
ちなみに最新に戻したい場合は
[shell]
$ /usr/local/Library/Formula% git checkout HEAD imagemagick.rb
$ brew upgrade
[/shell]
このようにすればいいみたいです。