Rails and OS X: How to install rmagick?

user984621 picture user984621 · Dec 20, 2012 · Viewed 36k times · Source

I am already completely desperate - I spent whole day with trying to install rmagick gem to Mac OS X Lion, but literally it's a tragedy. I saw many similar threads on Google, but nothing has helped me.

I tried completely uninstall imagemagick via brew and install it again (this is working well) and then to install the rmagick, but every time when I try to install this gem, I receive this error:

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

        /Users/adam/.rvm/rubies/ruby-1.9.3-p327/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
    --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/adam/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
    --with-MagickCorelib
    --without-MagickCorelib
    --with-Magicklib
    --without-Magicklib
    --with-Magick++lib
    --without-Magick++lib


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

Doesn't matter if I will install the gem through Gemfile or through Terminal, in both cases I get the same error output.

This is the version of imagemagick: imagemagick-6.8.0-10.

Could you give me please some tips or advance, where could be the issue? Thank you so much!

Answer

taiansu picture taiansu · Dec 20, 2012

rmagick has a problem working with imagemagick (>= 6.8.0-10) from homebrew.

You can either

update rmagick gem by

    bundle update rmagick

or manually symbol link some dylib to make it work:

    $ cd "`Magick-config --prefix`lib"
    $ ln -s libMagick++-Q16.7.dylib   libMagick++.dylib
    $ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib
    $ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib

After that gem install rmagick should work.

Check the discussion about this in homebrew/issues/16625

Update: Thanks @faraz for the nice one-liner command:

cd "`Magick-config --prefix`/lib"; ln -s libMagick++-Q8.7.dylib libMagick++.dylib; ln -s libMagickCore-Q8.7.dylib libMagickCore.dylib; ln -s libMagickWand-Q8.7.dylib libMagickWand.dylib