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?

Ken Li
  • 996

11 Answers11

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.

14

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
9

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

yum install ImageMagick-devel

nc4pk
  • 9,257
  • 14
  • 61
  • 71
Munish
  • 91
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.

jkh
  • 121
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

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

krukid
  • 111
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.

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
Andrew
  • 1
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.

Jonny
  • 565
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/

Rob
  • 101
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...