2013-08-17 84 views
7

安装rmagick宝石当我尝试用安装rmagic:无法在Ubuntu 13.04

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斌有:

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. 

这2个库已安装但发行再次:

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,如果这很重要的话。

+0

你安装了imagemagick吗? –

+0

是的,我安装了它。 –

+0

在你的终端'sudo apt-get install -f'上运行这个命令。 –

回答

14

解决方案是增加在那里的库可以找到PPA。

添加PPA:

sudo add-apt-repository ppa:ricotz/testing 

然后更新软件包列表:

sudo apt-get update 

最后与安装:

sudo apt-get install libmagickwand-dev 
+0

哇,你给出了我需要的确切解决方案! 'add-apt'解决了问题和其他步骤。谢谢! – Aleks

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 

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

16

尝试了这一点

先安装ImageMagick的

sudo apt-get install imagemagick 

然后

sudo apt-get install libmagickwand-dev 
+0

谢谢!这个命令很重要。 – heemin

+0

谢谢!这对我来说很有帮助。 – manijain

+0

我在安装libmagickwand-dev时也遇到了这个问题。一旦我安装imagemagick,编译没有问题的宝石。 – robvelor

0

你只需要安装:

sudo apt-get install libmagickwand-dev 
+0

它不适用于Ubuntu 13.04。也许你在13.10试过。 –

+0

这是不够的,至少在Ubuntu 12.04上。它在第一次安装imagemagick之前反复失败。 –

0

下面是一个很好的例子blog

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

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

毕竟以上解决方案失败了我..我只是谷歌搜索和发现上面的博客。作品完美.. –

+0

也许你有其他的Ubuntu版本,或者同时Ubuntu添加libmagickwand-dev到13.10版本库。 –

+0

是的,可能是..bur上面的命令为我工作像魅力.. –

0

这为我工作:

  1. 命令和apt-get安装libcairo2 = 1.14.6-1 --reinstall
  2. 命令和apt-get安装libmagickwand-dev的
  3. sudo的创业板安装rmagick