Ich versuche, das PNG- und EBImage R-Paket auf meinem Linux-CentOS-7-Rechner zu installieren. Ich bekomme immer diese Fehlermeldung:
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’
Ich habe versucht:
yum install libpng-devel
und es gibt mir aus:
Package 2:libpng-devel-1.5.13-7.el7_2.x86_64 already installed and latest version
Nothing to do
Irgendeine Idee, wie man dieses Problem lösen kann? Danke.
Antwort1
libpng16.so.16
Es sieht so aus, als ob Ihr R-Paket (Zweig 1.6) benötigt, während die Standardeinstellung unter CentOS 7 die ist, die Sie installiert haben (Zweig 1.5, über libpng
Paket verfügbar).
Wenn Sie nichts dagegen haben, einekommerziellRepository, libpng 1.6 ist verfügbar unterGetPageSpeed-Repository:
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
sudo yum install libpng16
Alternativ können Sie, obwohl dies aufgrund der Platzierung nicht gepackter Dateien im Root-Dateisystem dringend abgeraten wird, vorkompilierte Binärdateien von libpng16 verwenden, die sichHier: Extrahieren Sie das Archiv, erstellen Sie einen symbolischen Link von der vorkompilierten Bibliotheksdatei zu libpng16.so.16
, geben Sie einen benutzerdefinierten Include-Pfad vom Archiv zur R
Paketinstallation an usw.
Antwort2
Aus irgendeinem Grund verursacht Anaconda auf RHEL/Centos 7 dieses Problem. Wahrscheinlich, weil Anaconda eine neuere Version von installiert libpng
.
Ich konnte ein anderes Paket mit derselben png
Paketabhängigkeit installieren, indem ich Anaconda vorübergehend aus dem PATH
von R erkannten Verzeichnis entfernte. Nachdem ich dies getan hatte, wurden das png
Paket und sein abhängiges Paket ohne Probleme installiert.
Antwort3
Ich habe es geschafft, EBImage auf meiner Linux CentOS 7-Maschine zu installieren. sudo cp /usr/local/lib/libpng16.so.16 /usr/lib
Das Problem wurde behoben