"rmagick" gem installation issue

RubyGem

Ruby Problem Overview


I am having issue while trying to install "rmagick" gem on centos. Following is the output I am having. Can anyone please help me identifying what package I am missing? I have installed all mentioned another stack-overflow thread: https://stackoverflow.com/questions/7431707/rmagick-install-error

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

        /usr/local/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.2. 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/local/bin/ruby


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2/ext/RMagick/gem_make.out

After following suggestions, now I am getting this output:

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

        /usr/local/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
checking for stdint.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/local/bin/ruby
/usr/local/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:931:in `block in have_header'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
	from /usr/local/lib/ruby/1.9.1/mkmf.rb:930:in `have_header'
	from extconf.rb:194:in `<main>'


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.2/ext/RMagick/gem_make.out

Output Of mkmf.log:

checking for HDRI disabled version of ImageMagick... -------------------- yes

--------------------

"gcc -o conftest -I/usr/local/include/ruby-1.9.1/x86_64-linux -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I.  -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/ImageMagick-6    -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/ImageMagick-6   conftest.c  -L. -L/usr/local/lib -Wl,-R/usr/local/lib  -L/usr/lib -lMagickCore-6.Q16      -L/usr/lib -lMagickCore-6.Q16    -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -lruby-static  -lpthread -lrt -ldl -lcrypt -lm   -lc"
/usr/bin/ld: skipping incompatible /usr/lib/libMagickCore-6.Q16.so when searching for -lMagickCore-6.Q16
/usr/bin/ld: skipping incompatible /usr/lib/libMagickCore-6.Q16.so when searching for -lMagickCore-6.Q16
/usr/bin/ld: skipping incompatible /usr/lib/libMagickCore-6.Q16.so when searching for -lMagickCore-6.Q16
/usr/bin/ld: cannot find -lMagickCore-6.Q16
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"

Output of gem_make.out is same as the terminal output above.

Ruby Solutions


Solution 1 - Ruby

try installing

  sudo apt-get install libmagickwand-dev imagemagick

Solution 2 - Ruby

This https://stackoverflow.com/questions/41647979/imagemagick-7-with-rmagick-2-16-on-macos-sierra-cant-find-magickwand-h works for Rmagick 2.16.

brew install imagemagick@6
brew link --force imagemagick@6
gem install rmagick

Solution 3 - Ruby

The error message says:

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

It seems you missing no package at all, you just have to tell pkg-config where to find the MagickCore.pc file to build the extension. If you have installed the package ImageMagick-devel using yum the file should be inside the directory /usr/lib/pkgconfig or /usr/lib64/pkgconfig (depending on your architecture). Check with this command (from now I assume you are on a amd64 machine, if it's not the case replace lib64 with lib):

$ find /usr/lib64/pkgconfig -name MagickCore.pc

If the file is there you just have to install rmagick with this command:

$ PKG_CONFIG_PATH='/usr/lib64/pkgconfig' gem install rmagick

Solution 4 - Ruby

The problem is, as the error puts it,

> Package MagickCore was not found in the pkg-config search path

The solution is also suggested there:

> add the directory containing MagickCore.pc to the PKG_CONFIG_PATH environment variable

So,

  1. Find MagickCore.pc location:

     sudo find / -name MagickCore.pc
    
  2. If it is not found, probably ImageMagick is not installed on your system — then install it (Google how to do it, as it depends on the OS)

  3. Save it to the ENV var like that (make sure to put the path found in step 1):

     PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
    
  4. Retry installing RMagick

Solution 5 - Ruby

For Mac with Brew, simply..

brew install imagemagick

Then gem install imagemagick will work smoothly.

Solution 6 - Ruby

It doesn't look like you're missing any packages. The error message is important:

> Perhaps you should add the directory containing `MagickCore.pc' to the PKG_CONFIG_PATH environment variable

Several of the answers on this superuser duplicate give good advice.

Solution 7 - Ruby

On debian (unstable) the correct packages needed to resolve this error were libmagickcore-6.q16-dev, imagemagick and libmagickwand-6-headers

I found them by using apt-file search MagickCore.pc and apt-file search MagickWand.h

Solution 8 - Ruby

For windows users who run into this, and are 100% psotive that they have the devkit installed:

When installing, you will be presented this prompt enter image description here

Choosing 1 is not enough. Just press enter (1 & 3) and that will install the devkit properly.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRanaView Question on Stackoverflow
Solution 1 - RubySachin SinghView Answer on Stackoverflow
Solution 2 - RubymmellView Answer on Stackoverflow
Solution 3 - Rubytoro2kView Answer on Stackoverflow
Solution 4 - RubySergey PedanView Answer on Stackoverflow
Solution 5 - RubyFadilsView Answer on Stackoverflow
Solution 6 - RubyDarshan Rivka WhittleView Answer on Stackoverflow
Solution 7 - RubySpikolynnView Answer on Stackoverflow
Solution 8 - Rubyadnan_eView Answer on Stackoverflow