4

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

我在捆绑安装命令中收到此错误:

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.

然后我做了一些搜索,发现了一些添加缺失库的建议:

sudo apt-get 安装 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 安装 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 的帖子,所以我要尝试一下,但如果有人有更好的想法,我很想听听他们的意见。

谢谢

4

5 回答 5

9

我找到了解决方案:

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/?]

等到任务结束;)

于 2013-06-20T11:10:16.813 回答
8

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

gem install rmagick

也失败了。然后我做了

sudo apt-get install libmagick++-dev

并且 rmagick 安装没有问题。

于 2013-04-18T21:14:28.193 回答
5

这个解决方案毕竟比之前显示的更重要,因为它删除了:

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

其次:

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

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

答案:“是”

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

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

于 2013-06-20T11:38:28.083 回答
3

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

sudo apt-get install imagemagick libmagickwand-dev

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

于 2013-07-24T18:54:46.357 回答
0
sudo apt-get install libmagick++-dev

rmagick 安装成功

于 2014-11-14T06:33:17.513 回答