Rails and OS X: How to install rmagick?

2019-01-17 00:08发布

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!

9条回答
姐就是有狂的资本
2楼-- · 2019-01-17 00:36

Alternatively you can drop back to an older version of ImageMagick. This thread has instructions on how to do it:

Now, to try and actually be useful I recommend you extract one of the older bottles into your Cellar and then do brew link imagemagick if you uninstalled the old version.

They are available here: http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.snowleopard.bottle.3.tar.gz/download http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.lion.bottle.3.tar.gz/download http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.mountainlion.bottle.3.tar.gz/download

查看更多
在下西门庆
3楼-- · 2019-01-17 00:37

If you are using homebrew you just need to set the PKG_CONFIG_PATH

brew install imagemagick
PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick//6.8.9-1/lib/pkgconfig/ gem install rmagick
查看更多
再贱就再见
4楼-- · 2019-01-17 00:37

After you installed imagemagick, can you try

> gem pristine rmagick

Got it from this thread. Rails Rmagick gem. Hope it helps.

查看更多
在下西门庆
5楼-- · 2019-01-17 00:39

Try installing version 6.7.7-6 of imagemagick since version 6.8.x breaks the rmagick gem.

cd /usr/local
git checkout 7d951fb /usr/local/Library/Formula/imagemagick.rb
brew install imagemagick
查看更多
在下西门庆
6楼-- · 2019-01-17 00:41

I am using this one-liner when I have issues with installing rmagick, which happens every time...

sudo C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.7-7/include/ImageMagick-6/ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.7-7/lib/pkgconfig/ gem install rmagick

Make sure the version of imagemagick is correct, and you should be good to go. If you don't have imagemagick installed, do a brew install imagemagick.


Had to post this because I keep having issues installing this gem, and every time I forget how to do it.

查看更多
狗以群分
7楼-- · 2019-01-17 00:42

I had the same problem.

If you check the mkmf.log, you'll see the following error message:

ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */\

Here is how I solved it:

  1. Uninstall current version of ImageMagick:

    brew uninstall imagemagick

  2. Reinstall imagemagick without openmp support (this is the library responsible for lgomp):

    brew install imagemagick --disable-openmp

  3. Install rmagick:

    gem install rmagick

Thats it!

查看更多
登录 后发表回答