记一次 Ubuntu 下安装 ImageMagick 的排错过程

在尝试使用 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,搞定!

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注