16

I installed ImageMagick through, (Using ImageMagick 6.7.3-7)

./configure --prefix=/usr && make && make install

When I try to

gem install imagemagick

I get

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

/usr/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
Package MagickCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `MagickCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'MagickCore' found
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no

Can't install RMagick 2.13.1. 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=/usr/bin/ruby

This is despite the fact that MagickWand.h is already in the system in /usr/include/ImageMagick/wand/MagickWand.h. So the question is, how do I actually get the compiler to look in there?

11 Answers 11

25

Had the same problem on CentOS using latest everything (as of Dec 2011), and fixed it with:

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

in my .bashrc file to pick up MagickCore.pc, then created two symlinks:

ln -s /usr/local/include/ImageMagick/wand /usr/local/include/wand
ln -s /usr/local/include/ImageMagick/magick /usr/local/include/magick

And voila, the MagickWand.h was found, the MagickCore.pc was picked up... gem installed successfully.

I imagine another solution would be to modify the configure options set during ImageMagick installation, but I'm not enough of a sysadmin to be clear what the right option and location would be for these files. After 45 minutes of googling around, I couldn't figure where these files are supposed to live, to be automatically picked up by the gem install make system.

Cheers!

EDIT: 2014-10-01

Just did this again for CentOS 7, and the ln commands above were not needed. However, I ran into an issue where I got "Package MagickCore was not found in the pkg-config search path." on running sudo gem install rmagick.

The problem was the environment reset in /etc/sudoers. After running sudo visudo to edit the sudoers file, I added Defaults env_keep += "PKG_CONFIG_PATH" to the appropriate section, updated the secure path to include /usr/local/bin, and then installing worked like a charm.

3
  • I was having the same issue on RedHat 6 and your solution worked for me. Thanks a bunch!
    – Callmeed
    Mar 5, 2012 at 18:56
  • Awesome, this even worked like a charm in mountain lion! I need to run all the statement above for rmagick gem to be installed.
    – user64447
    Sep 3, 2012 at 5:08
  • Tried this and got "/usr/local/bin/Magick-config: line 41: pkg-config: command not found /usr/local/bin/Magick-config: line 47: pkg-config: command not found /usr/local/bin/Magick-config: line 50: pkg-config: command not found /usr/local/bin/Magick-config: line 53: pkg-config: command not found"
    – Jonny
    Apr 18, 2013 at 10:33
13

ImageMagick will typically put MagickCore here:

/usr/local/lib/pkgconfig/MagickCore.pc

If yours isn't there, you can find it like this:

find / -name MagickCore.pc

You now know your pkgconfig path:

/usr/local/lib/pkgconfig

Set the environment when you install the gem:

PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gem install rmagick
2
  • Thanks! Worked for me on a Bitnami Ubuntu 12.04 image..
    – J.D.
    Jun 1, 2012 at 3:14
  • Thanks! similar here worked: find /usr/ -name MagickCore.pc PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/ bundle
    – MegaTux
    Oct 2, 2016 at 17:38
9

For CentOS, I solved this issue by installing the "ImageMagick-devel" package:

yum install ImageMagick-devel

1
  • 1
    this is the best answer :)
    – kovpack
    Feb 21, 2016 at 21:18
2

The key is in the configure output where it says "checking for wand/MagickWand.h" - clearly the ImageMagick directory is not expected in /usr/include, which means you need to either move the contents of that directory up a level or you need to install ImageMagick itself differently. Putting stuff directly in /usr is generally a bad idea for anything not provided by the system itself - if you segregate all of the things you add in /usr/local instead and leave /usr largely alone, you'll find the system much easier to administer as well since you'll be able to (long after you've forgotten about this) figure out what you added vs what came with the system.

5
  • Good advice, although you still have not answered the question how you can force the compiler to look in certain directories for the header file.
    – Ken Li
    Nov 25, 2011 at 18:13
  • 3
    Well, the compiler invocations are all happening through the gem command (you force the compiler to look in alternate locations with the -I flag, but this user is not using the compiler directly) and its best to set things up with the configure command such that goodness occurs without having to alter anything else. Using the PKG_CONFIG_PATH env variable that configure keeps screeching about may do the trick if there is a MagickCore.pc file available. "find /usr -name MagickCore.pc" and then see if it exists, then add the dir it's in with "setenv PKG_CONFIG_PATH /path/to/where/find/found/it"
    – jkh
    Nov 25, 2011 at 18:21
  • I updated PKG_CONFIG_PATH to /Dir/to/where/found/MagickCore.pc and still end up with "Can't install RMagick 2.13.1. Can't find MagickWand.h" .. any suggestions why it might not be picked up and what else I can try .. Not sure how to use the -l option ?
    – p101
    Mar 2, 2012 at 19:31
  • Hmmmm! That should have worked. Question: If you type ./configure --help, does it list any configure options for ImageMagick specifically? If so, you may be able to point directly at the ImageMagick directory in /usr/local from the configure script.
    – jkh
    Mar 2, 2012 at 20:19
  • Thnx jkh.. Interestingly I didnt find configure in rmagick, so probably you mean imagemagick. I have created a new question here stackoverflow.com/questions/9561386/rmagick-installation . Would appreciate if you can take a look . Thanks!
    – p101
    Mar 5, 2012 at 3:46
1

You may want to install the appropriate support package for your distribution: http://rpmfind.net/linux/rpm2html/search.php?query=pkgconfig%28MagickCore%29

Had exact same issue on CentOS, rmagick installed fine after yum install ImageMagick-devel

1

May be you are installing ImageMagick version 7.x.x which will generate different folder names in your usr/lib/local/include/ImageMagick7.x.x folder. E.g.

In ImageMagick6.x.x version we have magick, wand named folders, where in ImageMagick7.x.x version have named this MagickCore , MagickWand . So this updation is causing the problem in some gem installation like here. Which is using magick/some_header.h or wand/some_header.h (Means they are not updated with the new 7.x.x ImageMagick version).That's why we are getting this error :

```

checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
 .... 
checking for wand/MagickWand.h... no

```

and in log file something like this :

error: 'MagickCore/method-attribute.h' file not found
#include "MagickCore/method-attribute.h"
         ^

Solution

Install the ImageMagick6.x.x version in your system from the official site : https://www.imagemagick.org/download/ and install it using this commands(after extract zip/tar) :

./configure
make 
make install

Then do

gem install rmagick

It will work.

1
  • I had to run a sudo ldconfig /usr/local/lib after sudo make install
    – sequielo
    Jun 28, 2018 at 19:35
0
        1) install by installer

http://cactuslab.com/imagemagick/

2) try gem install rmagick

if checking for wand/MagickWand.h... no
type

mdfind MagickWand.h

find some thing like

/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/wand/MagickWand.h

and type in terminal

C_INCLUDE_PATH=/Users/user/ImageMagick-6.8.3/include/ImageMagick-6/ gem install rmagick

if, after that you have this error (because a had it) "Package MagickCore was not found in the pkg-config search path."

type

mdfind MagickCore.pc

find some thing like /opt/ImageMagick/lib/pkgconfig/MagickCore.pc

and finally in terminal type:

PKG_CONFIG_PATH=/opt/ImageMagick/lib/pkgconfig/ gem install rmagick
2
  • 1
    The command mdfind is a MacOSX only command, it doesn't exist on Linux variants.
    – slm
    Mar 28, 2013 at 12:50
  • as @slm said, please re-write your answer so it helps the QA. Mar 28, 2013 at 12:54
0

I was installing redmine under Mac OS X mountain lion...

The installer failed on rmagick...

After lots of troubles, it worked by installing "homebrew", but NOT installing rmagick through homebrew. Instead I installed "pkg-config" through homebrew, because rmagick was complaining about that.

The commands:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew doctor
brew install pkg-config
sudo gem install rmagick

Then redmine went on installing with no problems.

0

This solved the problem for me. Apparently the latest version that comes with homebrew doesn't work well with the gem.

http://blog.paulopoiati.com/2013/01/28/installing-rmagick-in-mac-os-x-mountain-lion-with-homebrew/

0

Before installing rmagic you should install imagic on your system ,installation of imagick varies according to your operating system, Then you have to install some libraries that internally supports ruby for merging image processing libraries on your system. For installing those libraries use following command For linux: sudo apt-get install libmagickwand-dev imagemagick For Centos: yum install libmagickwand-dev imagemagick

then you have to install gem rmagick with following command: gem install rmagick It works for me and i installed rmagick successsfully...

0

Closest to @Irongaze.com answer! In my Arch Linux I created these the two symbolic links:

$ sudo ln -s /usr/include/ImageMagick-6/wand /usr/include/wand
$ sudo ln -s /usr/include/ImageMagick-6/magick /usr/include/magick

Then runs bundle again and rmagick was corrected installed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .