由于缺少标题,包ncdf的安装失败了,尽管它存在

Bea*_*eld 6 ubuntu r

我正在尝试ncdf在Ubuntu 10.04服务器上安装r包:

install.packages("ncdf", type = "source")
Installing package into ‘/home/me/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/src/contrib/ncdf_1.6.6.tar.gz'
Content type 'application/x-gzip' 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... no
checking for sys/types.h... no
checking for sys/stat.h... no
checking for stdlib.h... no
checking for string.h... no
checking for memory.h... no
checking for strings.h... no
checking for inttypes.h... no
checking for stdint.h... no
checking for unistd.h... no
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/me/R/x86_64-pc-linux-gnu-library/3.0/ncdf’
Warning in install.packages :
  installation of package ‘ncdf’ had non-zero exit status
Run Code Online (Sandbox Code Playgroud)

我也下载了源包并尝试在shell中安装,但得到了相同的结果.

wget http://cran.r-project.org/src/contrib/ncdf_1.6.6.tar.gz
R CMD INSTALL ncdf_1.6.6.tar.gz 
Run Code Online (Sandbox Code Playgroud)

显然,安装程序找不到正确的头文件.所以我手动搜索文件并找到它:

root@fourier:/usr/include# ls -ahl netcdf.h
-rw-r--r-- 1 root root 30K 2009-12-22 04:47 netcdf.h 
Run Code Online (Sandbox Code Playgroud)

软件包netcdf-bin,netcdf-dbg,netcdf-doc,libnetcdf-devlibnetcdf4都正确安装.apt-get已是最新.这是我的会话信息:

R version 3.0.1 (2013-05-16)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.0.1
Run Code Online (Sandbox Code Playgroud)

如何说服R安装程序使用位于其下的头文件/usr/include

Dir*_*tel 8

您需要查看configure.in脚本以确切了解它所测试的内容.也许它期望netcdf.h在子目录中而不是直接在子目录中/usr/include.

我想我过去已经建立了这个.我可以稍后再看看.

  • 非常感谢!ncdf包中有一个`configure.ac`文件.我不是{linux,C,/ bin/make/sense} -ninja,但我在其中找到了`--with-netcdf-include`这个参数.所以`install.packages("ncdf",type ="source",configure.args =" - with-netcdf-include =/usr/include")`使一切正常. (7认同)