无法在Ubuntu 13.04上安装rmagick gem

时间:2013-08-17 21:43:52

标签: ruby-on-rails ruby ubuntu imagemagick rmagick

当我尝试安装rmagic时:

gem install rmagic

它给出错误:

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

    /home/biske/.rbenv/versions/2.0.0-p247/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... 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=/home/biske/.rbenv/versions/2.0.0-p247/bin/ruby


Gem files will remain installed in /home/biske/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2 for inspection.
Results logged to /home/biske/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/ext/RMagick/gem_make.out

我试图搜索问题,发现我缺少libmagickwand-dev。我尝试用以下方法安装它:

sudo apt-get install libmagickwand-dev

但它会引发错误:

The following packages have unmet dependencies:
 libmagickwand-dev : Depends: libmagickcore-dev (= 8:6.7.7.10-5ubuntu2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

如果我尝试安装它:

sudo apt-get install libmagickcore-dev

它给出错误:

The following packages have unmet dependencies:
 libmagickcore-dev : Depends: librsvg2-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

如果我尝试安装它:

sudo apt-get install librsvg2-dev

它给出错误:

The following packages have unmet dependencies:
 librsvg2-dev : Depends: libglib2.0-dev (>= 2.24.0) but it is not going to be installed
                Depends: libgdk-pixbuf2.0-dev (>= 2.23.5-2) but it is not going to be installed
                Depends: libcairo2-dev (>= 1.2.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

如果我尝试使用:

安装libglib2.0-dev
sudo apt-get install libglib2.0-dev

它给出错误:

The following packages have unmet dependencies:
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.36.0-1ubuntu1) but 2.36.0-1ubuntu2 is to be installed
                  Depends: libglib2.0-bin (= 2.36.0-1ubuntu1)
E: Unable to correct problems, you have held broken packages.

如果我用:

安装libglib2.0-0
sudo apt-get install libglib2.0-0

它给出了:

libglib2.0-0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

如果我用:

安装libglib2.0-bin
sudo apt-get install libglib2.0-bin

它给出了:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
libglib2.0-bin is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

安装了这两个库,但又重新发布了:

sudo apt-get install libglib2.0-dev

它给出了同样的错误:

The following packages have unmet dependencies:
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.36.0-1ubuntu1) but 2.36.0-1ubuntu2 is to be installed
                  Depends: libglib2.0-bin (= 2.36.0-1ubuntu1)
E: Unable to correct problems, you have held broken packages.

这里有什么问题?

我正在使用Ubuntu 13.04,rbenv,ruby 2.0.0,如果这很重要的话。

6 个答案:

答案 0 :(得分:16)

试试这个

首先安装imagemagick

sudo apt-get install imagemagick

然后

sudo apt-get install libmagickwand-dev

答案 1 :(得分:14)

解决方案是在可以找到这些库的位置添加ppa。

添加PPA:

sudo add-apt-repository ppa:ricotz/testing

然后更新包列表:

sudo apt-get update

最后安装:

sudo apt-get install libmagickwand-dev

答案 2 :(得分:3)

首先尝试清除apt存储库并删除所有损坏的软件包:

sudo apt-get update
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove

如果系统识别出任何损坏的软件包,请强制删除它们(用您自己的代替package_name):

sudo dpkg --remove -force --force-remove-reinstreq package_name

然后重新安装任何丢失的软件包。

答案 3 :(得分:0)

您只需要安装:

sudo apt-get install libmagickwand-dev

答案 4 :(得分:0)

以下是此blog

的好例子

以下命令将解决您的问题。它帮助我安装 rmagick

sudo apt-get install libdjvulibre-dev libjpeg-dev libtiff-dev libwmf-dev libmagickcore-dev libmagickwand-dev libmagick++-dev

答案 5 :(得分:0)

这对我有用:

  1. sudo apt-get install libcairo2 = 1.14.6-1 --reinstall
  2. sudo apt-get install libmagickwand-dev
  3. sudo gem install rmagick