9

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?

Abe
  • 12,956
  • 12
  • 51
  • 72
  • 3
    you need to install the `-dev` of those packages to get the headers that are required to compile the package. – Justin Jul 03 '12 at 21:51
  • 1
    @Justin thanks. the only additional package required for `ncdf` was `libnetcdf-dev` – Abe Jul 03 '12 at 21:54
  • 1
    for `RNetCDF`, `udunits-bin` and `libudunits2-dev` are also required – Abe Jul 03 '12 at 21:58

4 Answers4

14

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

Justin
  • 42,475
  • 9
  • 93
  • 111
7

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")
Sadiq Huq
  • 118
  • 1
  • 5
1

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.

AtomicTech
  • 11
  • 2
1

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.

climatestudent
  • 459
  • 4
  • 13