Linux Centos 7 kann PNG- und EBImage-Paket nicht auf R installieren

Linux Centos 7 kann PNG- und EBImage-Paket nicht auf R installieren

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.16Es 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 libpngPaket 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 RPaketinstallation 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 pngPaketabhängigkeit installieren, indem ich Anaconda vorübergehend aus dem PATHvon R erkannten Verzeichnis entfernte. Nachdem ich dies getan hatte, wurden das pngPaket 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/libDas Problem wurde behoben

verwandte Informationen