在 Ubuntu 上更新 libpng

在 Ubuntu 上更新 libpng

我需要运行 Ubuntulibpng实用程序convert,但当我运行它时,我收到一条错误消息,提示我的版本libpng已过期,必须更新。因此,我选择了通常的apt-get install,但由于我现在不记得的原因,这并没有解决问题。事情从此变得混乱。

我下载了 的源代码libpng,执行了 make 和 make install。虽然在 中创建了一个可共享库/usr/local/lib,但 convert 现在报告:

convert: error while loading shared libraries: libpng.so.2: cannot open shared object file: No such file or directory

在 StackExchange 上其他热心人士的建议下,我apt-get install再次尝试获取并安装软件包libpng12-devlibpng12-0。然而,两次尝试都生成了以下消息

libpng12-dev is already the newest version
libpng12-0 is already the newest version

...所以什么都没安装。可能是我笨拙地尝试制作源代码把事情搞砸了。有什么办法可以清理吗?例如,安装旧版本的 libpng,然后安装最新版本?

之后:

根据 dogbert 的建议,我查阅了https://www.debian-administration.org/article/176/Reinstalling_packages_to_fix_problems并发现我可以强制删除一个包,而不会删除所有依赖的包:

dpkg --purge --force-depends libpng12-0

因此,我这样做了,然后重新安装了libpng12-0。但是,convert仍然报告相同的错误。好吧,也许我需要重新安装,convert因为libpng12-0库可能不在预期的位置。convert是 的一部分imagemagick,所以我卸载了它。但是,convert在命令行上仍然可用,因此卸载imagemagick并不能摆脱它。重新安装imagemagick。相同的结果:convert仍然抱怨找不到libpng.so.2

搜索了整个硬盘,发现没有libpng.so*任何文件存在。显然安装包并没有创建所需的文件。

答案1

libpng.so.2 应该是 libpng-1.0.x 的共享库(当前版本为 1.0.63)。您有“convert”(imagemagick 的一部分),它显然是用 libpng-1.0.x 构建的,因此您需要通过 apt-get 删除并重新安装 imagemagick。一旦成功,您可以再次尝试从 imagemagick.org 安装较新版本的 imagemagick,它应该可以与 libpng12 配合使用。

相关内容