Ubuntu 12.10 – Ruby gem rmagick缺less依赖关系问题

像许多其他人一样,我在运行软件包安装时在Ubuntu上安装rmagick时遇到了麻烦。

我在bundle install命令中得到这个错误:

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. 

然后我做了一些search,并find了一些添加缺less的库的build议:

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. 

似乎任何尝试安装正确的软件包出现了这个问题。

我刚刚看到一篇关于从源代码安装imagemagick的文章,所以我会试试,但如果有人有更好的想法,我很乐意听到他们的意见。

谢谢

我找到了解决办法:

 sudo apt-get install aptitude 

然后开火:

 sudo aptitude install graphicsmagick-libmagick-dev-compat 

当被问及:

 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] 

答:“n”

 Accept this solution? [Y/n/q/?] n 

第二个问题:

 The following actions will resolve these dependencies: Downgrade the following packages: 1) libexif12 [0.6.20-2ubuntu0.1 (now) -> 0.6.20-2 (precise)] 

答:“Y”或按ENTER键

 Accept this solution? [Y/n/q/?] 

等到任务结束;)

我刚试过我的笔记本电脑(Ubuntu 13.04)。

 gem install rmagick 

也失败了。 然后我做了

 sudo apt-get install libmagick++-dev 

和rmagick没有问题安装。

这个解决方案毕竟比以前更重要,因为它消除了:

实:graphicsmagick-libmagick-DEV-COMPAT

但解决问题(在“捆绑安装”):

 checking for wand/MagickWand.h... no 

如我的第二个帖子所示,在提示符下键入:

 sudo aptitude install libmagickwand-dev 

在:

 The following actions will resolve these dependencies: Keep the following packages at their current version 1) libatk1.0-dev [Not Installed] 2) libcairo2-dev [Not Installed] 3) libexpat1-dev [Not Installed] 4) libgdk-pixbuf2.0-dev [Not Installed] 5) libglib2.0-dev [Not Installed] 6) libgraphviz-dev [Not Installed] 7) libgtk2.0-dev [Not Installed] 8) libmagickcore-dev [Not Installed] 9) libmagickwand-dev [Not Installed] 10) libpango1.0-dev [Not Installed] 11) librsvg2-dev [Not Installed] 

回答:

 Accept this solution? [Y/n/q/?] n 

在secound:

以下操作将解决这些依赖关系:

  Remove the following packages: 1 ) graphicsmagick-libmagick-dev-compat Install the following packages: 2)libcairo-script-interpreter2 [1.10.2-6.1ubuntu2 (precise)] [..] 

答:“Y”

 Accept this solution? [Y/n/q/?] 

任务完成后,U可以很容易地在你的项目目录下运行'bundle install'

尝试一起安装imagemagick和libmagickwand-dev:

 sudo apt-get install imagemagick libmagickwand-dev 

这允许正确地解决依赖关系。 (在Ubuntu 12.04上测试)

 sudo apt-get install libmagick++-dev 

rmagick安装成功