13

I'm trying to deploy an app on OpsWorks, but there are problems with installing rmagick gem. I have the following OS packages:

libmagickwand-dev imagemagick libmagickcore-dev

Below is the log file with errors during deployment:

Gem::Ext::BuildError: 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... no
Can't install RMagick 0.0.0. Can't find Magick-config in /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

*** 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

extconf failed, exit code 1

Gem files will remain installed in /home/deploy/.bundler/myapp/ruby/2.1.0/gems/rmagick-2.13.3 for inspection.
Results logged to /home/deploy/.bundler/myapp/ruby/2.1.0/extensions/x86_64-linux/2.1.0/rmagick-2.13.3/gem_make.out
An error occurred while installing rmagick (2.13.3), and Bundler cannot
continue.
Make sure that `gem install rmagick -v '2.13.3'` succeeds before bundling.
STDERR:
---- End output of sudo su - deploy -c 'cd /srv/www/myapp/releases/20140929182350 && /usr/local/bin/bundle install --path /home/deploy/.bundler/myapp --without=test development' 2>&1 ----
Ran sudo su - deploy -c 'cd /srv/www/myapp/releases/20140929182350 && /usr/local/bin/bundle install --path /home/deploy/.bundler/myapp --without=test development' 2>&1 returned 5
[2014-09-29T18:24:08+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
complete_morons
  • 823
  • 2
  • 8
  • 14

7 Answers7

26

In your shell, run the following command:

apt-get install libmagickwand-dev
S C
  • 269
  • 2
  • 3
  • More specifically, make sure that command gets run on the machine you're trying to deploy to; not just your local development machine. I guess you need to add a chef "package" resource for it. – David Grayson Sep 30 '14 at 17:48
8

I had the same problem after upgrading ubuntu to 15.05, some how the Magick-config file is no longer in my PATH. To fix this I first found the location of Magick-config

sudo find / -name "Magick-config"

which was /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config then I added it to the path. Bundle succeeded afterwards.

bigsolom
  • 2,309
  • 1
  • 19
  • 15
  • 1
    I've been struggling with the same problem on Ubuntu 15 all morning. This finally worked, thanks. – Josh May 21 '15 at 09:29
3
sudo apt-get install libmagickwand5 libmagickwand-dev
gem install rmagick -v 2.13.3
manusvs650
  • 241
  • 2
  • 6
3

Install Imagemagick-dev libraries

Ubuntu systems: sudo apt-get install libmagickwand-dev

RHEL systems: yum install ImageMagick-devel

Mac: brew install imagemagick

Mahattam
  • 5,405
  • 4
  • 23
  • 33
2

In Ubuntu 14.04 I also needed to install the libgmp-dev library to get working the newer rmagick 2.15.4 version:

sudo apt-get install libgmp-dev

Hope this helps!

Unihedron
  • 10,902
  • 13
  • 62
  • 72
gbonline
  • 101
  • 9
0

to fix it permanently we could just do:

ln -s /usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config /usr/bin/Magick-config
James M
  • 538
  • 7
  • 15
0

First of all we need to search configuration

sudo find / -name "Magick-config"

You will get output something like this:

/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-Q16/Magick-config

Now you just need to setup bin location in your environment by using this:

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

Don't forget to remove Magick-config from end of line.

Chitresh goyal
  • 313
  • 1
  • 7