欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Ubuntu系统下安装ImageMagick出错的解决过程

程序员文章站 2022-07-09 19:57:34
前言 imagemagick是一个很好用的对图片进行格式转换、缩减大小、裁剪等等进行操作的工具,在windows和linux系统都可以安装,因为我们的环境是ubuntu环...

前言

imagemagick是一个很好用的对图片进行格式转换、缩减大小、裁剪等等进行操作的工具,在windows和linux系统都可以安装,因为我们的环境是ubuntu环境,在安装过程中遇到些问题,下面就来一起看看解决的过程和方法吧。

发现问题

在尝试使用 apt-get install 来安装 imagemagick 时,出现了依赖缺失的问题:

the following packages have unmet dependencies 

使用 apt-get updateapt-get upgrade 命令更新索引和升级所有软件包之后,依然无法安装。 又使用 apt-get install -f 命令来修复依赖关系,仍然没有效果。

解决过程

于是使用 aptitude 来安装,发现命令行中没有 aptitude,只能通过 apt-get install aptitude 命令先把 aptitude 装上,结果又遇到了依赖缺失的问题:

the following packages have unmet dependencies 
 depends: libstdc++6 (>= 4.9) but 4.8.4-2ubuntu1~14.04 is to be installed

尝试使用 apt-get install 来安装 libstdc++6,无法成功安装。 因此手动下载 libstdc++6 的 deb 包进行安装:

$ apt-get download libstdc++6
$ sudo dpkg -i libstdc++6_4.9.2-10ubuntu13_amd64.deb

得到错误提示:

dpkg: dependency problems prevent configuration of libstdc++6:amd64: 
 libstdc++6:amd64 depends on gcc-4.9-base (= 4.9.2-10ubuntu13); however:
 version of gcc-4.9-base:amd64 on system is 4.9.3-0ubuntu4.

解决方法

这是由于我的 ubuntu 中装的 gcc 版本为 4.9.2-0ubuntu4,而 libstdc++6依赖于 4.9.2-10ubuntu13 版本。

  • 因此,通过 apt-get install gcc-4.9-base=4.9.2-10ubuntu13 安装所依赖的 gcc-4.9-base 版本。
  • 然后,再执行上面安装 libstdc++6 的命令
  • 之后,用 apt-get install 来安装 aptitude
  • 最后,用 aptitude 来安装 imagemagick

总算把 imagemagick 装上了,总结一下安装过程遇到的问题:主要是依赖库缺失,遇到这种情况,可以考虑使用 aptitude install 来安装,它会自动安装所需依赖,一步到位。

我遇到的问题中比较特殊的一点是,系统中的 aptitude 不见了,需要使用 apt-get install 来先把 aptitude 装上,而安装时又提示依赖缺失libstdc++6,看起来像陷入了死循环。所以使用 apt-get download 和 dpkg -i 手动下载 libstdc++6 包进行安装,安装过程中又依赖于特定版本的 gcc-4.9-base,因此使用 apt-get install 将其装上,然后再回去安装 libstdc++6,最后安装 aptitude,搞定!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。