无法在ec2 spark集群上安装fOptions R软件包

时间:2015-12-27 13:41:59

标签: r amazon-ec2 redhat lapack blas

我使用spark-ec2脚本在ec2上部署了一个spark集群。我正在尝试在主服务器上的Rstudio中安装'fOptions'R软件包,但是当install.packages()尝试安装名为'gss'的依赖项时,我收到以下错误

/ usr / bin / ld:找不到-lRlapack / usr / bin / ld:找不到-lRblas

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 install liblpack3 libperl-dev但是我得到了另一个错误 - 没有包libperl-dev可用,并且其他包也一样。

ggplot2等其他软件包已成功安装,并且一些示例代码在spark集群上正常运行。

是否有任何解决此错误的方法或安装fOptions及其依赖项的任何解决方法?

1 个答案:

答案 0 :(得分:0)

这是R本身的错误安装。

它认为它应该有内部LAPACK和BLAS(因为Rlapack和Rblas中的'R')然后自动成为同一R安装的一部分但是它们丢失了。在一个'正常'的Unix系统上你有

edd@max:~$ R CMD config LAPACK_LIBS
-llapack
edd@max:~$ R CMD config BLAS_LIBS
-lblas
edd@max:~$ 

并且使用LAPACK和BLAS的系统版本。如果您将R配置为使用自己的R,则会显示(如我的R-devel构建中所示)

edd@max:~$ RD CMD config LAPACK_LIBS
-L/usr/local/lib/R-devel/lib/R/lib -lRlapack
edd@max:~$ RD CMD config BLAS_LIBS
-L/usr/local/lib/R-devel/lib/R/lib -lRblas
edd@max:~$ 

但也给出了位置。因此,您需要使用您所拥有的R的RedHat版本对其进行排序。

相关问题