r - 无法在 Linux 服务器上安装任何 R 包

标签 r linux rstudio-server

我似乎无法在运行在 EC2 上的亚马逊 Linux 服务器上安装任何 R 包。这是一个尝试安装“扫帚”包的简单示例。知道这里发生了什么吗?任何帮助将不胜感激,因为我现在已经坚持了大约 5 个小时。我在下面粘贴了所有控制台输出。

install.packages("broom")

Installing package into ‘/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
also installing the dependencies ‘mnormt’, ‘psych’

trying URL 'https://cran.rstudio.com/src/contrib/mnormt_1.5-5.tar.gz'
Content type 'application/x-gzip' length 37169 bytes (36 KB)
==================================================
downloaded 36 KB

trying URL 'https://cran.rstudio.com/src/contrib/psych_1.7.8.tar.gz'
Content type 'application/x-gzip' length 3311758 bytes (3.2 MB)
==================================================
downloaded 3.2 MB

trying URL 'https://cran.rstudio.com/src/contrib/broom_0.4.3.tar.gz'
Content type 'application/x-gzip' length 1397648 bytes (1.3 MB)
==================================================
downloaded 1.3 MB

* installing *source* package ‘mnormt’ ...
** package ‘mnormt’ successfully unpacked and MD5 sums checked
** libs
gfortran -m64   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -I/usr/lib64/gfortran/modules  -c biv-nt.f -o biv-nt.o
f951: Warning: Nonexistent include directory ‘/usr/lib64/gfortran/modules’ [-Wmissing-include-dirs]
biv-nt.f:371:11:

       hs = sign( one, dh - r*dk )
           1
Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1) [-Wconversion]
biv-nt.f:372:11:

       ks = sign( one, dk - r*dh )
           1
Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1) [-Wconversion]
gfortran -m64   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -I/usr/lib64/gfortran/modules  -c sadmvnt.f -o sadmvnt.o
f951: Warning: Nonexistent include directory ‘/usr/lib64/gfortran/modules’ [-Wmissing-include-dirs]
sadmvnt.f:976:3:

  10      END DO
   1
Warning: Label 10 at (1) defined but not used
sadmvnt.f:80:15:

       INFORM = MVNNIT( N, CORREL, LOWER, UPPER, INFIN, INFIS, D, E )
               1
Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1) [-Wconversion]
sadmvnt.f:217:38:

         IF ( MINCLS .LT. 0 ) SBRGNS = WORK(LENWRK)
                                      1

[ 删掉大约 20 个与上述类似的例子]

Warning: ‘__result_bvn’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sadmvnt.f:762:0:

       DOUBLE PRECISION FUNCTION BVN ( LOWER, UPPER, INFIN, CORREL )

note: ‘__result_bvn’ was declared here
sadmvnt.f:1046:0:

                   IF ( INFI(I) .EQ. 2 ) Y(I) = ( AMIN + BMIN )/2

Warning: ‘bmin’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sadmvnt.f:1046:0: Warning: ‘amin’ may be used uninitialized in this function [-Wmaybe-uninitialized]
gcc -m64 -std=gnu99 -shared -L/usr/lib64/R/lib -L/usr/local/lib64 -o mnormt.so biv-nt.o sadmvnt.o -lgfortran -lm -lquadmath -L/usr/lib64/R/lib -lR
/usr/bin/ld: cannot find -lgfortran
/usr/bin/ld: cannot find -lquadmath
collect2: error: ld returned 1 exit status
make: *** [mnormt.so] Error 1
ERROR: compilation failed for package ‘mnormt’
* removing ‘/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.4/mnormt’
Warning in install.packages :
  installation of package ‘mnormt’ had non-zero exit status
ERROR: dependency ‘mnormt’ is not available for package ‘psych’
* removing ‘/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.4/psych’
Warning in install.packages :
  installation of package ‘psych’ had non-zero exit status
ERROR: dependency ‘psych’ is not available for package ‘broom’
* removing ‘/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.4/broom’
Warning in install.packages :
  installation of package ‘broom’ had non-zero exit status

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

这是 R.Version() 的输出

R.Version()

$platform
[1] "x86_64-redhat-linux-gnu"

$arch
[1] "x86_64"

$os
[1] "linux-gnu"

$system
[1] "x86_64, linux-gnu"

$status
[1] ""

$major
[1] "3"

$minor
[1] "4.1"

$year
[1] "2017"

$month
[1] "06"

$day
[1] "30"

$`svn rev`
[1] "72865"

$language
[1] "R"

$version.string
[1] "R version 3.4.1 (2017-06-30)"

$nickname
[1] "Single Candle"

最佳答案

感谢以下帖子,我弄明白了: usr/bin/ld: cannot find -l<nameOfTheLibrary>

我必须运行以下代码来创建指向包的符号链接(symbolic link)

sudo ln -s /usr/lib/gcc/x86_64-amazon-linux/6.4.1/libgfortran.so /usr/lib64/
sudo ln -s /usr/lib/gcc/x86_64-amazon-linux/6.4.1/libquadmath.so /usr/lib64/

关于r - 无法在 Linux 服务器上安装任何 R 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845922/

相关文章:

linux - 如何等待程序启动然后后台呢?

r - ggplot2:如何手动调整 scale_area

r - 如何从同一包中的另一个 R 脚本调用 R 脚本?

linux - 来自 Linux 用户空间的 PEBS 的 x86-64 "linear address"?

r - 在 Shiny 中永久保存一个对象在内存中

RStudio 服务器上的 R Shiny dev 在应用程序启动时 Shiny 崩溃

从 RStudio 服务器运行 GUI 分析包

r - 按观察次数过滤ggplot2密度图

r - 初始化将由 renderUI 生成的值

c - 用于点对点通信的 Linux 驱动程序类型