2015-12-27 107 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版本进行分类。