Ubuntu 12.10 - Ruby gem rmagick missing dependency issue
imagemagick, ruby, ubuntu
Solution
I found the solution:
sudo apt-get install aptitude
Then fire:
sudo aptitude install graphicsmagick-libmagick-dev-compat
When asked:
The following actions will resolve these dependencies:
Keep the following packages at their current version
1) graphicsmagick-libmagick-dev-compat [Not Installed]
2) libexif-dev [Not Installed]
3) libgraphicsmagick++1-dev [Not Installed]
4) libgraphicsmagick1-dev [Not Installed]
Answer: "n"
Accept this solution? [Y/n/q/?] n
In second question:
The following actions will resolve these dependencies:
Downgrade the following packages:
1) libexif12 [0.6.20-2ubuntu0.1 (now) -> 0.6.20-2 (precise)]
Answer: "Y" or hit ENTER
Accept this solution? [Y/n/q/?]
Wait until task end ;)
Problem
Like many others I'm having trouble installing rmagick on Ubuntu when running bundle install. I get this error on the bundle install command: ``` Installing rmagick (2.13.1) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/local/rvm/rubies/ruby-1.8.7-p371/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 /usr/local/rvm/gems/ruby-1.8.7-p371/bin:/usr/local/rvm/gems/ruby-1.8.7-p371@global/bin:/usr/local/rvm/rubies/ruby-1.8.7-p371/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/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/rvm/rubies/ruby-1.8.7-p371/bin/ruby Gem files will remain installed in /home/selfsale/.bundler/tmp/2908/gems/rmagick-2.13.1 for inspection. Results logged to /home/selfsale/.bundler/tmp/2908/gems/rmagick-2.13.1/ext/RMagick/gem_make.out An error occurred while installing rmagick (2.13.1), and Bundler cannot continue. Make sure that `gem install rmagick -v '2.13.1'` succeeds before bundling. ``` I then did some searching and found some suggestions for adding the missing libs: sudo apt-get install libmagick9-dev: ``` Reading package lists... Done Building dependency tree Reading state information... Done Package libmagick9-dev is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: graphicsmagick-libmagick-dev-compat E: Package 'libmagick9-dev' has no installation candidate ``` sudo apt-get install graphicsmagick-libmagick-dev-compat: ``` Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: graphicsmagick-libmagick-dev-compat : Depends: libgraphicsmagick1-dev but it is not going to be installed Depends: libgraphicsmagick++1-dev but it is not going to be installed E: Unable to correct problems, you have held broken packages. ``` sudo apt-get install libmagickwand-dev: ``` Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: libmagickwand-dev : Depends: libmagickcore-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed E: Unable to correct problems, you have held broken packages. ``` sudo apt-get install libmagickcore-dev: ``` Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: libmagickcore-dev : Depends: libbz2-dev but it is not going to be installed Depends: libfreetype6-dev but it is not going to be installed Depends: libpng-dev Depends: librsvg2-dev but it is not going to be installed Depends: libwmf-dev but it is not going to be installed Depends: libx11-dev but it is not going to be installed Depends: libxext-dev but it is not going to be installed Depends: libxt-dev but it is not going to be installed E: Unable to correct problems, you have held broken packages. ``` sudo apt-get install libmagick++-dev: ``` Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: libmagick++-dev : Depends: libmagickcore-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed Depends: libmagickwand-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed E: Unable to correct problems, you have held broken packages. ``` It seems that any attempt to install the correct packages comes up with this problem. I've just seen a post about installing imagemagick from source so I'm going to try that, but if anyone has any better ideas I'd love to hear them. Thanks