![在 ubuntu 22.04 上安装 libpng12.so](https://linux22.com/image/1026839/%E5%9C%A8%20ubuntu%2022.04%20%E4%B8%8A%E5%AE%89%E8%A3%85%20libpng12.so.png)
我尝试按照各种说明进行安装libpng12.so
,最终导致我在下载 deb 文件后使用以下命令:
sudo gdebi libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
但不幸的是,安装 deb 时会出现以下错误:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading state information... Done
PNG library - runtime
libpng is a library implementing an interface for reading and writing
PNG (Portable Network Graphics) format files.
.
This package contains the runtime library files needed to run software
using libpng.
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
c = findall("[[(](\S+)/\S+[])]", msg)[0].lower()
(Reading database ... 373964 files and directories currently installed.)
Preparing to unpack libpng12-0_1.2.54-1ubuntu1.1_amd64.deb ...
Unpacking libpng12-0:amd64 (1.2.54-1ubuntu1.1) ...
dpkg: error processing archive libpng12-0_1.2.54-1ubuntu1.1_amd64.deb (--install):
unable to install new version of '/lib/x86_64-linux-gnu/libpng12.so.0': No such file or directory
Processing triggers for libc-bin (2.35-0ubuntu3) ...
Errors were encountered while processing:
libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
有人知道我为什么会收到这些错误吗?非常感谢。
答案1
此答案适用于 Ubuntu 22.04 上的 R 用户,他们在 Ubuntu 22.04 上的 R 会话期间尝试加载 latticeExtra 包时遇到了我的问题中描述的错误。我执行的三个步骤如下。(这是经过大量谷歌搜索和许多死胡同之后的!!!!!)。
请注意,这个答案的大部分内容是使用下面链接中 user1335274 的说明获得的。我只是一步一步地把它们写出来。
步骤1):
我去了 ubuntuupdates.org 并下载了 libpng12-0_1.2.54-1ubuntu1_amd64.deb
然后我使用 ar x libpng12-0_1.2.54-1ubuntu1_amd64.deb 从 deb 中提取文件
这导致我的目录中出现了两个文件,分别名为 data.tar.xz 和 control.tar.xz
第2步):
我没有使用 control.tar.xz,因为不需要。我使用 data.tar.xz 获取了文件
tar xvf 数据.tar.xz。
这下载了 xz 文件中存在的整个文件结构。然后我将下面的两个文件复制到我的 /usr/local/lib 目录中。我不确定把它们放在哪里最好,但这似乎是合理的,因为它没有挤满很多其他文件。
/lib/x86_64-linux-gnu/libpng12.so.0.54.0
/lib/x86_64-linux-gnu/libpng12.so.0
步骤3):
因此,一旦我的 usr/local/lib 中有了上述文件,我就需要修改点 bashrc 文件中的 LD_LIBRARY_PATH,以便在查找路径时它包含 usr/local/lib 目录。
我这样做了
导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
在我的点 bashrc 文件中。
完成上述操作后,在运行 Ubuntu 22.04 时尝试从 R 安装 latticeExtra 包时不再遇到问题。我希望这对未来使用 Ubuntu 22.04 的 R 用户有所帮助。
注意:请注意,解决此类问题的方法通常是在新版本的 Ubuntu 上重新安装相应的 R 包。不幸的是,latticeExtra 并非如此。