rmagickのインストールに失敗する場合

# エラー内容



```bash:
yamada-no-MacBook-Air:hoge yamada$ bundle exec rails s
/Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require': dlopen(/Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/rmagick-2.13.2/lib/RMagick2.bundle, 9): Library not loaded: /opt/local/lib/libMagickCore.6.dylib (LoadError)
  Referenced from: /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/rmagick-2.13.2/lib/RMagick2.bundle
  Reason: Incompatible library version: RMagick2.bundle requires version 7.0.0 or later, but libMagickCore.6.dylib provides version 2.0.0 - /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/rmagick-2.13.2/lib/RMagick2.bundle
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `block in require'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:in `load_dependency'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/rmagick-2.13.2/lib/rmagick.rb:11:in `<top (required)>'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
  from /Users/yamada/work/workstation/config/application.rb:7:in `<top (required)>'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.9/lib/rails/commands.rb:53:in `require'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.9/lib/rails/commands.rb:53:in `block in <top (required)>'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.9/lib/rails/commands.rb:50:in `tap'
  from /Users/yamada/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.9/lib/rails/commands.rb:50:in `<top (required)>'
  from script/rails:6:in `require'
  from script/rails:6:in `<main>'
```

# 原因

以下のコマンドでportをアップグレードしたのが原因だった。

```bash:
$ sudo port -d selfupdate
$ sudo port upgrade outdated
```

# 対処法

```bash:
sudo port uninstall ImageMagick
sudo port install ImageMagick

gem uninstall rmagick
```

ワーキングディレクトリに移動して

```bash:
bundle install
```

これで解決した。

# 追記

と思ったら再度失敗。

今度は普通に

```bash:
Installing rmagick (2.13.1) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/ito/.rvm/rubies/ruby-1.9.3-p286/bin/ruby extconf.rb 
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for clang... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... yes
checking for InitializeMagick() in -lMagickCore... no
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagick++... no
Can't install RMagick 2.13.1. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.

*** 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/ito/.rvm/rubies/ruby-1.9.3-p286/bin/ruby
	--with-MagickCorelib
	--without-MagickCorelib
	--with-Magicklib
	--without-Magicklib
	--with-Magick++lib
	--without-Magick++lib


Gem files will remain installed in /Users/ito/.rvm/gems/ruby-1.9.3-p286/gems/rmagick-2.13.1 for inspection.
Results logged to /Users/ito/.rvm/gems/ruby-1.9.3-p286/gems/rmagick-2.13.1/ext/RMagick/gem_make.out

An error occurred while installing rmagick (2.13.1), and Bundler cannot continue.
Make sure that `gem install rmagick -v '2.13.1'` succeeds before bundling.
```

とのこと

http://stackoverflow.com/questions/13942443/error-installing-rmagick-on-mountain-lion

を参考に

```bash:
cd /opt/local/lib
sudo ln -s libMagick++-6.Q16.dylib libMagick++.dylib
sudo ln -s libMagickCore-6.Q16.dylib libMagickCore.dylib
sudo ln -s libMagickWand-6.Q16.dylib libMagickWand.dylib
```

とやって解決。

そもそもrmagick 2.13.2はインストールできていたのでそちらにしろということか。