239
votes

I get the error shown below when attempting to install the rmagick gem. I am on Snowleopard 10.6 using RVM, Ruby 1.9.2-head and Rails 3.05. Responses to similar questions recommended installing ImageMagick, which I successfully did. Other suggested installing the "libmagick9-dev library", however, I can not figure out how to do this.

I'm a new developer, and any assistance or directions to an existing explanation or resource is greatly appreciated. Thanks!

jjdevenuta(opal)$ gem install rmagick
Fetching: rmagick-2.13.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

/Users/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.13.1. Can't find Magick-config in /Users/jjdevenuta/.rvm/gems/ruby-1.9.2-head@rails3/bin:/Users/jjdevenuta/.rvm/gems/ruby-1.9.2-head@global/bin:/Users/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin:/Users/jjdevenuta/.rvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/X11/bin

*** 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/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin/ruby

UPDATE If you're a Mac/OS X user I would HIGHLY recommend using Homebrew as your package installer/manager. You can find it HERE. Since originally asking this question I have removed all my prior installs of things like rmagick and imagemagick, and reinstalled them using Homebrew. Super easy with a huge catalog of packages, and updates/uninstalls are a cinch as well!

25
are you using fink, macports, or homebrew?Brandon Frohbieter
I have macports, but used the binary download for snow leopard on the imagemagick site. I can't find anywhere to download/install from for the libmagick9-dev.Joe
If you update the best answer to @Travis R 's answer would be goodJonathan
Brew didn't work for me so I used the magick-installer (github.com/maddox/magick-installer) and it worked perfect.jstreebin
For Ubuntu ver. >= 12 Solution is in: stackoverflow.com/questions/16093006/…Marcin Rudzki

25 Answers

447
votes

When building native Ruby gems, sometimes you'll get an error containing "ruby extconf.rb". This is often caused by missing development libraries for the gem you're installing, or even Ruby itself.

Do you have apt installed on your machine? If not, I'd recommend installing it, because it's a quick and easy way to get a lot of development libraries.

If you see people suggest installing "libmagick9-dev", that's an apt package that you'd install with:

$ sudo apt-get install libmagickwand-dev imagemagick

or on centOs:

$ yum install ImageMagick-devel

On Mac OS, you can use Homebrew:

$ brew install imagemagick
163
votes

The new correct way is to install libmagickwand-dev:

sudo apt-get install libmagickwand-dev

Then you should be able to install rmagick no problem.

42
votes

imagemagick@6 works for me!

brew unlink imagemagick
brew install imagemagick@6 && brew link imagemagick@6 --force

See this thread

37
votes

Ubuntu 15.10

Note that if you try to install this gem in ubuntu 15.10, then error can happened:

Can't install RMagick 2.13.1. Can't find Magick-config in ...

All you need is preload PATH variable with additional path to ImageMagick lib.

PATH="/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16:$PATH"

then run gem install rmagick

source of solution

21
votes

UPDATE If you're a Mac/OS X user I would HIGHLY recommend using Homebrew as your package installer/manager. You can find it HERE. Since originally asking this question I have removed all my prior installs of things like rmagick and imagemagick, and reinstalled them using Homebrew. Super easy with a huge catalog of packages, and updates/uninstalls are a cinch as well!

I finally got it working by utilizing a script for ImageMagick installation on github.

magick-installer ( https://github.com/maddox/magick-installer )

It made a fresh install of ImageMagick, and the RMagick 2.12.2 gem then installed perfectly via bundler.

Thanks to Hulihan Applications for confirming that it was most likely a missing library. I tried the suggestion of using apt-get by installing the package downloader from Fink Project. I ran the following command in terminal, but it couldn't find the libmagick9-dev libary.

$ sudo apt-get install libmagick9-dev
$ Password:
$ Reading Package Lists... Done
$ Building Dependency Tree... Done
$ E: Couldn't find package libmagick9-dev

I need to bone up on my UNIX command line skills. The original copy of ImageMagick that I installed from source is still on the machine, but I don't know where exactly or how to remove it. So much to learn...!

14
votes

Things change...maybe this will help someone else:

sudo apt-get install libmagick9-dev used to work. But with a later version of imagemagick I needed:

sudo apt-get install graphicsmagick-libmagick-dev-compat libmagickcore-dev libmagickwand-dev
11
votes

Try

1) apt-get install libmagickwand-dev

2) gem install rmagick
8
votes

For those who don't want to do the build-from-source approach of the (otherwise excellent installer script by John Maddox, the following worked for me when installing on CentOS 6.2. (Adjust your package manager as necessary).

yum install -y {libwmf,lcms,ghostscript,ImageMagick}{,-devel}
gem install rmagick

Again, this is mainly of interest if you use your distro's package manager and would really prefer to keep it sane.

7
votes

In some OS you need to use new libraries: libmagick++4 libmagick++-dev

You can use:

sudo apt-get install libmagick++4 libmagick++-dev
5
votes

Important:

sudo apt-get install libmagick++4 libmagick++-dev

works on linux mint 13 after making updates:

sudo apt-get update
4
votes

Can't install RMagick 2.13.2. in ubuntu 17.10

My decision

 - sudo apt-get purge imagemagick libmagickcore-dev libmagickwand-dev
 - sudo apt-get autoremove
 - sudo rm /usr/bin/Magick-config

 - sudo apt-get install imagemagick libmagickwand-dev

Version is required to correctly specify the path to the configuration

  • cd /usr/lib/x86_64-linux-gnu
  • View version ImageMagick, my version ImageMagick - 6.9.7.
  • cd ImageMagick-6.9.7/
  • ls
  • look at the name of the directory bin-q16 or bin-Q16

Creating a link to the config

sudo ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-version/bin-directory/Magick-config /usr/bin/Magick-config

Creating for my version ImageMagick

 - sudo ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.9.7/bin-q16/Magick-config /usr/bin/Magick-config
 - bundle
3
votes

in ubuntu 15.10

sudo apt-get install graphicsmagick-libmagick-dev-compat

did the trick for me

3
votes

I had to specify version 6

brew install imagemagick@6
brew link --overwrite --force imagemagick@6
2
votes

If you get an error similar like:

The following packages have unmet dependencies:
 libmagickwand-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
                     Depends: libmagickcore-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed

You might want to start with this package: sudo apt-get install libgvc5

For more details: https://askubuntu.com/a/230958/6506

1
votes

I ran this issue twice on different machine, first time it was resolved by installing the libmagick9-dev

sudo apt-get install libmagick9-dev

and second time i have to install the following libraries.

sudo apt-get install libmagick++4 libmagick++-dev
1
votes

On Mac OS X sudo port install ImageMagick turned out to work fine to fix the gem install rmagick problem . I just didn't know that it worked fine because rvm during installation blew away my .bash_profile contents which included MacPort's addition of /opt/local/bin to PATH. I put back /opt/local/bin into PATH in my .bash_profile and then my gem install rmagick then succeeded.

1
votes

I had this problem when I had already installed ImageMagick with macports. I ran

    port contents ImageMagick | grep config

To find where the config file had been stored and then ran

    PATH=(insert your path here):${PATH} bundle

to install the gem using bundler. From now on, if you run a command that needs to reference ImageMagick, you can prefix it with that command. For example I had a migration that referenced it, so I ran

    PATH=/opt/local/bin/:${PATH} rake db:migrate

opt/local/bin/ is the path where my config file was stored.

1
votes

What I did to fix the problem on Ubuntu was

$ sudo apt-get install libmagickwand-dev
$ sudo apt-get install ImageMagick
1
votes

Ubuntu:

sudo apt-get install imagemagick libmagickwand-dev libmagickcore-dev
gem install rmagick

CentOS:

yum remove ImageMagick
gem uninstall rmagick
yum install ImageMagick ImageMagick-devel ImageMagick-last-libs ImageMagick-c++ ImageMagick-c++-devel
gem install rmagick

MacOS:

download and install http://xquartz.macosforge.org/trac/wiki/X112.7.2

after:

brew uninstall imagemagick
brew link xz jpeg freetype    
brew install imagemagick
brew link --overwrite imagemagick
gem install rmagick
1
votes

execute this in terminal

  sudo apt-get install libmagickcore-dev libmagickwand-dev

if its not work than

sudo ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/local/bin/Magick-config

for reference

0
votes

Installing rmagick gem in Ubuntu

sudo aptitude Install Imagemagick and GraphicsMagick(If not aptitude go & install in s/w center) sudo aptitude Install libmagickcore-dev libmagickwand-dev gem install rmagick -v 2.13.1

0
votes

For CentOS 5/6 this is what worked for me

yum remove ImageMagick
yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel
mkdir /root/imagemagick
cd /root/imagemagick
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar xzvf ImageMagick.tar.gz
cd ImageMagick-*
./configure --prefix=/usr/ --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes
make
make install

For 64 bit do this

cd /usr/lib64
ln -s ../lib/libMagickCore.so.3 libMagickCore.so.3 
ln -s ../lib/libMagickWand.so.3 libMagickWand.so.3

Add the missing dependencies

yum install ImageMagick-devel

Then finally rmagick

gem install rmagick

If you need to start fresh remove other installs first with

cd /root/imagemagick/ImageMagick-*
make uninstall
0
votes

On ubuntu, you also have to install imagemagick and libmagickcore-dev like this :

sudo apt-get install imagemagick libmagickcore-dev libmagickwand-dev

Everything is written in the doc.

0
votes

After much digging, I fixed this on debian 8.3 using information here: https://www.bountysource.com/issues/18142073-can-t-install-gem-on-ubuntu-15-04 Specifically:

sudo apt-get purge graphicsmagick graphicsmagick-dbg imagemagick-common imagemagick imagemagick-6.q16 libmagickcore-6-headers libmagickwand-dev
sudo apt-get autoremove
sudo apt-get install imagemagick libmagickwand-dev
gem install rmagick
0
votes

Remember to ckeck the archive Gemfile.lock after the instalation. Remove this archive and execute bundle again. It works for me in linux :D