Ich versuche, das RNetCDF Paket auf meinem Laptop (Ubuntu 12.04) mit dem BefehlRNetCDF kann nicht Objektdatei open shared
install.packages('RNetCDF',lib='/home/my_computer/RSCRIPTS/R_LIB/',configure.args="--with-netcdf-include='/home/my_computer/bin/libs4cdo-0.0.10/netcdf-4.2/include/' --with-netcdf-lib='/home/my_computer/local/bin' --with-hdf5-lib='/home/my_computer/local/lib/' --with-udunits-include='/usr/local/lib/' --with-udunits-lib='/usr/local/lib/'",repos='http://star-www.st-andrews.ac.uk/cran/')
aber das Paket installieren wird nicht zu installieren. Siehe unten die Meldung:
trying URL 'http://star-www.st-andrews.ac.uk/cran/src/contrib/RNetCDF_1.6.1-2.tar.gz'
Content type 'application/x-gzip' length 70301 bytes (68 Kb)
opened URL
==================================================
downloaded 68 Kb
* installing *source* package ‘RNetCDF’ ...
** package ‘RNetCDF’ successfully unpacked and MD5 sums checked
checking for gcc... gcc -std=gnu99
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ISO C89... none needed
checking for nc_open in -lnetcdf... yes
checking for utInit in -ludunits2... no
checking for utScan in -ludunits2... yes
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking netcdf.h usability... yes
checking netcdf.h presence... yes
checking for netcdf.h... yes
checking udunits.h usability... yes
checking udunits.h presence... yes
checking for udunits.h... yes
configure: creating ./config.status
config.status: creating R/load.R
config.status: creating src/Makevars
** libs
gcc -std=gnu99 -I/usr/share/R/include -I/usr/local/lib/ -I/home/bauduinm/bin/libs4cdo-0.0.10/netcdf-4.2/include/ -fpic -O3 -pipe -g -c RNetCDF.c -o RNetCDF.o
gcc -std=gnu99 -shared -o RNetCDF.so RNetCDF.o -ludunits2 -lnetcdf -L/home/my_computer/local/lib/ -L/usr/local/lib/ -L/home/my_computer/local/bin -lexpat -L/usr/lib/R/lib -lR
installing to /home/my_computer/RSCRIPTS/R_LIB/RNetCDF/libs
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices ...
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/home/my_computer/RSCRIPTS/R_LIB/RNetCDF /libs/RNetCDF.so':
libexpat.so.0: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/my_computer/RSCRIPTS/R_LIB/RNetCDF’
The downloaded packages are in
‘/tmp/Rtmpl5MniY/downloaded_packages’
Warning message:
In install.packages("RNetCDF", lib = "/home/my_computer/RSCRIPTS/R_LIB/", :
installation of package ‘RNetCDF’ had non-zero exit status
Wenn ich versuche, mit
sudo R CMD INSTALL --libary='/home/my_computer/RSCRIPTS/R_LIB/' --configure-args="--with-netcdf-include='/home/my_computer/bin/libs4cdo-0.0.10/netcdf-4.2/include/' --with-netcdf-lib='/home/my_computer/local/lib/' --with-hdf5-lib='/home/my_computer/local/lib/' --with-udunits-include=/usr/local/lib/ --with-udunits-lib=/usr/local/lib/" /home/my_computer/Downloads/RNetCDF_1.6.1-2.tar.gz
die Fehlermeldung ersetzt mit
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/local/lib/R/site-library/RNetCDF/libs/RNetCDF.so':
libnetcdf.so.7: cannot open shared object file: No such file or directory
libnetcdf.so.7 ist auf jeden Fall in /home/my_computer/local/lib/
die auch meine ist LD_LIBRARY_PATH
. Zugegeben, die Datei libexpat.so.0, die eine der Dateien in der ersten Fehlermeldung (mit install.packages
) ist, befindet sich in intelbezogenen Ordnern, die nicht so aussehen, als hätten sie etwas mit netcdf-Bibliotheken zu tun.
Könnte mich jemand aufklären?
Danke.
Edit: Nun, ich werde nie wissen, was passiert ist, wenn ich wieder 3 Tage später mit der gleichen install.packages
Befehlszeile versuchte das Paket ohne irgendwelche Probleme installiert ... Also mein einziger Rat an jemanden, der die haben kann Das gleiche Problem besteht darin, sich von R abzumelden und erneut zu starten, nur für den Fall, dass einige vorherige Fehler in der Sitzung im Protokoll verblieben sind.
Bei Ihrem ersten Versuch, wenn es die Bibliothek nicht laden kann, hat es wirklich einen Platz in diesem Pfad: '/ home/mein_computer/RSCRIPTS/R_LIB/RNetCDF/libs/RNetCDF.so', oder ist das eine Formatierung Problem, wenn Sie es in SO eingefügt? – nograpes
Lesen Sie auch [diesen Beitrag] (http://ubuntuforums.org/showthread.php?t=1034715) über das Verknüpfen von 'libexpat.so.0'. Vielleicht möchten Sie einen Link verwenden, um das Paket an den richtigen Ort zu verweisen (wie im Post angezeigt), wenn Sie eine neuere Version installiert haben, was ich vermute. – nograpes
'@ nograpes' Danke für Ihre Kommentare. Dies zwang mich, das Problem mit dem Platz zu betrachten (was eine Formatierung im SO-Problem war), die Befehlszeile erneut auszuführen und erkannte, dass ich das Paket heute ohne Probleme installieren konnte. – SnowFrog