如何在 Ubuntu 19.10 上正确安装 libpng12-0?

N0r*_*ert 9 apt dpkg libpng 19.04 19.10

对于ScreenLets 应用程序,我需要libpng12-0在 Ubuntu 19.10 系统上安装软件包。

我知道它仅适用于 Ubuntu 16.04 LTS

所以我决定手动下载这个包并手动安装。

在以前的 Ubuntu 版本(例如 18.04 LTS)上,这个技巧以成功结束,但在 19.10 上它以非常奇怪的方式失败:

wget http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
sudo apt-get install ./libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

0 个升级,1 个新安装,0 个删除,0 个未升级。
需要获得 0 B/116 kB 的档案。
此操作后,将使用 285 kB 的额外磁盘空间。
获取:1 /home/user/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb libpng12-0 amd64 1.2.54-1ubuntu1.1 [116 kB]
选择以前未选择的包 libpng12-0:am​​d64。
(正在读取数据库...当前安装了 212864 个文件和目录。)
准备解压.../libpng12-0_1.2.54-1ubuntu1.1_amd64.deb ...
解压 libpng12-0:am​​d64 (1.2.54-1ubuntu1.1) ...

dpkg: 错误处理存档 /home/user/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb (--unpack):
 无法安装新版本的“/lib/x86_64-linux-gnu/libpng12.so.0”:没有这样的文件或目录
没有写入报告,因为错误消息表明本地系统存在问题
                                                                                         处理时遇到错误:
 /home/user/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
E:子进程/usr/bin/dpkg返回错误码(1)

这里有什么问题?如何libpng12-0在 Ubuntu 19.10 系统上安装?


注意:19.04 也发生了同样的情况,但它已接近 EOL。

Log*_*gix 21

对于 Ubuntu 21.04、20.10、20.04 LTS、19.10 和 19.04,有一个包含 libpng12-0 的 PPA:https ://launchpad.net/~linuxuprising/+archive/ubuntu/libpng12 。

您可以从这里下载 libpng12-0 deb或添加 PPA:

sudo add-apt-repository ppa:linuxuprising/libpng12
sudo apt update
sudo apt install libpng12-0
Run Code Online (Sandbox Code Playgroud)

旧的 libpng12-0 在 Ubuntu 19.04(及更新版本)中不起作用的原因是,在 Ubuntu 19.04 中,该/lib目录是指向的符号链接/usr/lib(Ubuntu 18.04 及更早版本不是这种情况),这导致 libpng12-0安装失败,因为这个包试图从/lib/x86_64-linux-gnu/libpng12.so.0to创建一个链接/usr/lib,这已经是一个符号链接。因此必须重新打包 libpng12-0 DEB 以解决此问题并安装它。

来源:Linux 起义

  • 感谢您为我创建 PPA 和这些软件包 :) 真的很棒。我还怀疑符号链接是一个真正的问题。 (2认同)