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

时间:2013-06-10 16:20:14

标签: r ubuntu

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

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

我还下载了源包并尝试在shell中安装,但结果相同。

wget http://cran.r-project.org/src/contrib/ncdf_1.6.6.tar.gz
R CMD INSTALL ncdf_1.6.6.tar.gz 

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

root@fourier:/usr/include# ls -ahl netcdf.h
-rw-r--r-- 1 root root 30K 2009-12-22 04:47 netcdf.h 

软件包netcdf-binnetcdf-dbgnetcdf-doclibnetcdf-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

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

2 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:1)

无需下载源代码,您只需设置一些环境变量即可。对我来说,这是

 export NETCDF_INCLUDE=/usr/include

执行此操作后,install.packages("ncdf")正常工作。

INSTALL文件中描述了这一点。