Reputation: 3562
I've got access to a supercomputer, which I don't have superuser privileges for. The machine has netcdf versions 3 and 4 available, but I don't know if it has the dev libraries needed by R to install ncdf
. I normally use it to run parallelized R code. Normally I can install packages to a personal library, which works fine. E.g.:
> install.packages('plm')
Installing package(s) into '/home/diag/opt/R/local/lib'
(as 'lib' is unspecified)
Warning in install.packages("plm") :
'lib = "/home/diag/opt/R/local/lib"' is not writable
Would you like to use a personal library instead? (y/n)
I have need of the ncdf
package, but I can't install it, because the machine can't find some of the netcdf libraries that ncdf
depends on. The machine has netcdf versions 3 and 4 available, but I don't know if it has the dev libraries needed by R to install ncdf
, nor do I know how to check. I'm working against something of a deadline, and unfortunately the administrators haven't been able to help me solve the problem.
Here is what happens when I try to install ncdf
:
[andrewcd@computer-login2 ~]$ module load R
[andrewcd@computer-login2 ~]$ module load netcdf/3.6.2
[andrewcd@computer-login2 ~]$ R
R version 2.15.2 (2012-10-26) -- "Trick or Treat"
...(cut)
Type 'q()' to quit R.
[Previously saved workspace restored]
> install.packages('ncdf')
Installing package(s) into '/home/diag/opt/R/local/lib'
(as 'lib' is unspecified)
Warning in install.packages("ncdf") :
'lib = "/home/diag/opt/R/local/lib"' is not writable
Would you like to use a personal library instead? (y/n) y
--- Please select a CRAN mirror for use in this session ---
CRAN mirror
1: 0-Cloud 2: Argentina (La Plata)
...(cut)
91: Vietnam
Selection: 75
trying URL 'http://cran.stat.ucla.edu/src/contrib/ncdf_1.6.6.tar.gz'
Content type 'application/x-tar' length 79403 bytes (77 Kb)
opened URL
==================================================
downloaded 77 Kb
* installing *source* package 'ncdf' ...
** package 'ncdf' successfully unpacked and MD5 sums checked
checking for nc-config... no
checking for gcc... gcc -std=gnu99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
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 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... no
checking netcdf.h presence... no
checking for netcdf.h... no
configure: error: netcdf header netcdf.h not found
ERROR: configuration failed for package 'ncdf'
* removing '/home/andrewcd/R/x86_64-unknown-linux-gnu-library/2.15/ncdf'
The downloaded source packages are in
'/tmp/RtmpIDiTdL/downloaded_packages'
Warning message:
In install.packages("ncdf") :
installation of package 'ncdf' had non-zero exit status
Does anybody know what I can do to make R able to find the required libraries?
Also, note that I'd prefer to use ncdf
rather that ncdf4
(for compatibility with existing code). However, when I try to install ncdf4
, I get the following error message, which might be instructive:
* installing *source* package 'ncdf4' ...
** package 'ncdf4' successfully unpacked and MD5 sums checked
checking for nc-config... no
-----------------------------------------------------------------------------------
Error, nc-config not found or not executable. This is a script that comes with the
netcdf library, version 4.1-beta2 or later, and must be present for configuration
to succeed.
If you installed the netcdf library (and nc-config) in a standard location, nc-config
should be found automatically. Otherwise, you can specify the full path and name of
the nc-config script by passing the --with-nc-config=/full/path/nc-config argument
flag to the configure script. For example:
./configure --with-nc-config=/sw/dist/netcdf4/bin/nc-config
Special note for R users:
-------------------------
To pass the configure flag to R, use something like this:
R CMD INSTALL --configure-args="--with-nc-config=/home/joe/bin/nc-config" ncdf4
where you should replace /home/joe/bin etc. with the location where you have
installed the nc-config script that came with the netcdf 4 distribution.
-----------------------------------------------------------------------------------
ERROR: configuration failed for package 'ncdf4'
* removing '/home/andrewcd/R/x86_64-unknown-linux-gnu-library/2.15/ncdf4'
The downloaded source packages are in
'/tmp/RtmpIDiTdL/downloaded_packages'
Warning message:
In install.packages("ncdf4") :
installation of package 'ncdf4' had non-zero exit status
Clearly the system can't find "nc-config". (I can't find it myself).
Any advice on either what I could do, or what I could ask a superuser to do for me, would be much appreciated.
Upvotes: 0
Views: 1448
Reputation: 790
Hi I think the error you are getting while installing 'ncdf' is :
configure: error: netcdf header netcdf.h not found
You have to install linux pack that contine netcdf.h header file.You may need superuser acces to do the same. If you have got superuser acces then you can search in repository of your linux destribtion which provides this header file and install the same.
Upvotes: 1