问题
I can't seem to install any R packages on my amazon linux server, running on EC2. Here is a simple example of trying to install "broom" package. Any idea what's going on here? Any help would be appreciated, as I've been stuck on this for about 5 hours now. I've pasted all of the console output, below.
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
[ CUT OUT ABOUT 20 INSTANCES OF IT SAYING SOMETHING SIMILAR TO THE ABOVE ]
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’
Here is the output of 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"
回答1:
I figured it out thanks to the following post: usr/bin/ld: cannot find -l<nameOfTheLibrary>
I had to run the following code to create a symbolic link to the packages
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/
来源:https://stackoverflow.com/questions/48845922/cant-install-any-r-packages-on-linux-server