在 R/ubuntu 中安装软件包 "png"

Install package "png" in R/ubuntu

(在ubuntu下),我试试:

install.packages("png")

并得到:

** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/kaveh/R/x86_64-pc-linux-gnu-library/3.2/png/libs/png.so':
  libpng16.so.16: cannot open shared object file: No such file or directory

我认为它必须归因于 libpng 已过时,但我已经从 this link 使用:

安装了它
./configure 
make check
make install

所以我真的不知道还能做什么~

为了从源代码构建,您可能缺少 libpng* headers。在我的机器上,我安装了软件包 libpng12-dev。确保你也有它,然后再次尝试安装 png

另请注意

R> capabilities()["png"]
 png 
TRUE 
R> 

因此您的默认 R 版本应该已经能够创建 png 文件。

关键点在这里 dyn.load(file, DLLpath = DLLpath, ...),它在你的 DLLpath 中找不到 png.so。 DLL 在类 Unix 系统中也称为 'dynamic shared objects' ('DSO')。 DLLpath可以通过$LD_LIBRARY_PATH in .bashrc/.bash_profile.

添加

安装 libpng 时,

./configure prefix=/home/usrname
make check
make install

然后将 export LD_LIBRARY_PATH=/home/usrname/lib:$LD_LIBRARY_PATH 添加到您的 .bashrc/.bash_profile 我希望我已经说清楚了。

我今天遇到了同样的问题。根据建议 here,我通过首先使用 sudo 启动 R 然后简单地执行 install.packages('png').

来解决问题