2015-12-27 113 views
0

我已經在ec2上使用spark-ec2腳本部署了一個spark集羣。我試圖在Rstudio上安裝'fOptions'R軟件包,但在install.packages()試圖安裝名爲'gss'的依賴項時出現以下錯誤:/ usr/bin/ld:找不到-lRlapack 在/ usr /斌/勞工處:找不到-lRblas無法在ec2 spark集羣上安裝fOptions R軟件包

Warning: Label 23057 at (1) defined but not used 
gcc -m64 -std=gnu99 -I/usr/include/R -DNDEBUG -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c smolyak.c -o smolyak.o 
smolyak.c: In function ‘eval’: 
smolyak.c:181:10: warning: variable ‘dummy’ set but not used [-Wunused-but-set-variable] 
smolyak.c: In function ‘calccoeff2’: 
smolyak.c:381:10: warning: variable ‘dummy’ set but not used [-Wunused-but-set-variable] 
smolyak.c: In function ‘fsum’: 
smolyak.c:418:10: warning: variable ‘dummy’ set but not used [-Wunused-but-set-variable] 
smolyak.c: At top level: 
smolyak.c:378:8: warning: ‘calccoeff2’ defined but not used [-Wunused-function] 
gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o gss.so cdennewton.o cdennewton10.o dcoef.o dcore.o dcrdr.o ddeev.o deval.o dgold.o dmcdc.o dmudr.o dmudr0.o dmudr1.o dnewton.o dnewton10.o dprmut.o dqrslm.o drkl.o dset.o dsidr.o dsidr0.o dsms.o dstup.o dsytr.o dtrev.o gaussq.o hzdaux.o hzdnewton.o hzdnewton10.o llrmnewton.o reg.o smolyak.o -L/usr/lib64/R/lib -lRlapack -L/usr/lib64/R/lib -lRblas -lgfortran -lm -lquadmath -lgfortran -lm -lquadmath -L/usr/lib64/R/lib -lR 
/usr/bin/ld: cannot find -lRlapack 
/usr/bin/ld: cannot find -lRblas 
collect2: ld returned 1 exit status 
make: *** [gss.so] Error 1 
ERROR: compilation failed for package ‘gss’ 
* removing ‘/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.2/gss’ 
Warning in install.packages : 
    installation of package ‘gss’ had non-zero exit status 

The downloaded source packages are in 
    ‘/tmp/RtmpGROBAw/downloaded_packages’ 

還有更多的警告了。我也試過yum安裝liblpack3 libperl-dev,但我得到另一個錯誤 - 沒有包libperl-dev可用,其他包也是如此。

其他軟件包如ggplot2已成功安裝,一些示例代碼在Spark集羣上運行良好。

是否有任何解決此錯誤或任何解決方法來安裝fOptions及其依賴關係?

回答

0

這是一個錯誤的安裝R本身。

它認爲它應該有內部LAPACK和BLAS(因爲Rlapack和Rblas中的'R'),然後會自動成爲相同R安裝的一部分,但它們缺失。在'正常'的Unix系統上,你有

[email protected]:~$ R CMD config LAPACK_LIBS 
-llapack 
[email protected]:~$ R CMD config BLAS_LIBS 
-lblas 
[email protected]:~$ 

並且使用系統版本的LAPACK和BLAS。如果和當你配置R使用自己的,它顯示(如在我的R-devel內部)

[email protected]:~$ RD CMD config LAPACK_LIBS 
-L/usr/local/lib/R-devel/lib/R/lib -lRlapack 
[email protected]:~$ RD CMD config BLAS_LIBS 
-L/usr/local/lib/R-devel/lib/R/lib -lRblas 
[email protected]:~$ 

但也給出了位置。所以你需要用你在那裏的R的RedHat版本進行分類。