Question

I would like to use the R packages RNetCDF and ncdf in Ubuntu.

When I try install.packages('RNetCDF') or install.packages('ncdf'), I get similar errors:

...
ncdf.c:3:20: fatal error: netcdf.h: No such file or directory
compilation terminated.
make: *** [ncdf.o] Error 1
ERROR: compilation failed for package ‘ncdf’
...
Warning message:
In install.packages("ncdf") :
  installation of package ‘ncdf’ had non-zero exit status

The packages libnetcdf6 and netcdf-bin from the Ubuntu repository are installed. Do I need to do something else?

Was it helpful?

Solution

You need to install the -dev of those packages to get the headers that are required to compile the package. In this case, you need libnetcdf-dev, udunits-bin and libudunits2-dev

OTHER TIPS

In my case, libudunits2-dev package was needed.

sudo apt-get install libudunits2-dev

Since I installed NetCDF from source, I had to manually specify the locations of lib and include folders

install.packages("/home/user/Downloads/RNetCDF_1.6.1-2.tar.gz", 
repos = NULL,
type="source",
dependencies=FALSE,
configure.args="--with-netcdf-include=/usr/local/netcdf-4.2.1-build/include --with-netcdf-lib=/usr/local/netcdf-4.2.1-build/lib")

Just to clarify, since your initial issue is in R, and the fix is applied outside of R. I initially was trying to do

install.packages("libnetcdf-dev"), which didn't work.

instead, from outside of R: sudo apt-get install libnetcdf-dev

That fixed it for me.

In Ubuntu 20.04 LTS one can install the ncdf4 package (which supersedes ncdf), including all dependencies, with the bash command sudo apt install r-cran-ncdf4. Similarly for RNetCDF you can use sudo apt install r-cran-rnetcdf.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top