我有權訪問超級計算機,而我沒有超級用戶權限。該機器有netcdf版本3和4可用,但我不知道是否有R所需的開發庫來安裝ncdf
。我通常使用它來運行並行化的R代碼。通常我可以將軟件包安裝到個人圖書館,工作正常。例如: -當我沒有超級用戶權限時在R上安裝'ncdf'
> 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)
我都需要ncdf
包,但我不能安裝它,因爲機器不能找到一些ncdf
依賴於創建NetCDF庫。該機器有netcdf版本3和4可用,但我不知道它是否有R所需的開發庫來安裝ncdf
,我也不知道如何檢查。我正在對付截止日期,並且不幸的是管理員無法幫助我解決問題。
這裏是發生了什麼,當我嘗試安裝ncdf
:
[[email protected] ~]$ module load R
[[email protected] ~]$ module load netcdf/3.6.2
[[email protected] ~]$ R
R version 2.15.2 (2012-10-26) -- "Trick or Treat"
...(切)
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)
...(切)
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
有誰知道我能做些什麼來使R能夠找到所需的庫?
此外,請注意,我寧願使用ncdf
而不是ncdf4
(爲了與現有代碼兼容)。然而,當我嘗試安裝ncdf4
,我收到以下錯誤消息,這可能是有益的:
* 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
顯然,系統無法找到「NC-配置」。 (我自己找不到)。
任何意見,無論我能做什麼,或我可以要求超級用戶爲我做的,將不勝感激。
對於實際上由於在缺省庫目錄中缺少寫入權限而導致安裝問題的人,請注意:在.Rprofile文件中(例如將其放入〜/ .R/.Rprofile),您可能會插入一個函數'。第一個',用你設置一個你選擇的lib目錄。例如:'.First = function(){.libPaths('〜/ .R/libs')}'。你必須自己創建'〜/ .R/libs'。 –
更正:將.Rprofile放入'〜/ .Rprofile' –