Linux
Linux Centos 7 無法在 R 上安裝 png 和 EBImage 包
我正在努力在我的 linux centos 7 機器上安裝 png 和 EBImage R 包。我總是有這個錯誤資訊:
Error: package or namespace load failed for ‘png’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/home/rico/R/x86_64-redhat-linux-gnu-library/3.6/00LOCK-png/00new/png/libs/png.so': libpng16.so.16: cannot open shared object file: No such file or directory Error: loading failed Execution halted ERROR: loading failed * removing ‘/home/rico/R/x86_64-redhat-linux-gnu-library/3.6/png’ Warning in install.packages : installation of package ‘png’ had non-zero exit status The downloaded source packages are in ‘/tmp/RtmpX4o4D5/downloaded_packages’
我試著做:
yum install libpng-devel
它輸出我:
Package 2:libpng-devel-1.5.13-7.el7_2.x86_64 already installed and latest version Nothing to do
知道如何解決這個問題嗎?謝謝。
看起來您的 R 包需要
libpng16.so.16
(1.6. 分支),而 CentOS 7 上的預設設置是您安裝的(1.5 分支,可通過libpng
包獲得)。如果您不介意使用商業儲存庫,可以在GetPageSpeed儲存庫中獲得 libpng 1.6 :
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm sudo yum install libpng16
或者,儘管由於將非打封包件放在根文件系統上而非常不鼓勵,但您可以使用位於此處的 libpng16 的預編譯二進製文件:提取存檔,從預編譯的庫文件創建符號連結到
libpng16.so.16
,提供從存檔到R
包安裝等…
出於某種原因,在 RHEL/Centos 7 上安裝 Anaconda 會導致此問題。可能是因為 Anaconda 安裝了更新版本的
libpng
.
png
通過暫時從 R 辨識的中刪除 anaconda,我能夠安裝具有相同包依賴關係的另一個包PATH
。一旦我這樣做了,png
安裝包及其依賴包就沒有問題。