问题描述
我一直是Ubuntu 14.04上StatET的快乐用户,直到最近R升级之后才开始发生奇怪的事情.与网络操作相关的任何操作都会失败.例如,我不能再从CRAN安装软件包:
I was a happy user of StatET on Ubuntu 14.04 until recently when after R upgrades strange things begin to happen. Anything related to network operations fails. For example, I can not install packages from CRAN any more:
> install.packages("Hmisc")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
Error in url("http://cran.r-project.org/CRAN_mirrors.csv") :
internet routines cannot be loaded
In addition: Warning message:
In url("http://cran.r-project.org/CRAN_mirrors.csv") :
unable to load shared object '/usr/lib/R/modules//internet.so':
/usr/lib/R/modules//internet.so: symbol curl_multi_wait, version CURL_OPENSSL_3 not defined in file libcurl.so.4 with link time reference
如果我在终端中运行R,它会顺利运行:
It works smoothly if I run R in terminal:
> install.packages("Hmisc")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
trying URL 'http://cran.at.r-project.org/src/contrib/Hmisc_3.16-0.tar.gz'
Content type 'application/x-gzip' length 629536 bytes (614 KB)
==================================================
downloaded 614 KB
OpenBLAS : Your OS does not support AVX instructions. OpenBLAS is using Nehalem kernels as a fallback, which may give poorer performance.
* installing *source* package ‘Hmisc’ ...
** package ‘Hmisc’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c Hmisc.c -o Hmisc.o
gfortran -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -c cidxcn.f -o cidxcn.o
gfortran -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -c cidxcp.f -o cidxcp.o
gfortran -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -c hoeffd.f -o hoeffd.o
gfortran -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -c jacklins.f -o jacklins.o
gfortran -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -c largrec.f -o largrec.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c mChoice.c -o mChoice.o
gfortran -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -c maxempr.f -o maxempr.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c nstr.c -o nstr.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c ranksort.c -o ranksort.o
gfortran -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -c rcorr.f -o rcorr.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c string_box.c -o string_box.o
gfortran -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -c wclosest.f -o wclosest.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o Hmisc.so Hmisc.o cidxcn.o cidxcp.o hoeffd.o jacklins.o largrec.o mChoice.o maxempr.o nstr.o ranksort.o rcorr.o string_box.o wclosest.o -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR
installing to /usr/local/lib/R/site-library/Hmisc/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
OpenBLAS : Your OS does not support AVX instructions. OpenBLAS is using Nehalem kernels as a fallback, which may give poorer performance.
* DONE (Hmisc)
The downloaded source packages are in
‘/tmp/RtmpVfRKYi/downloaded_packages’
> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.2 LTS
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8
[9] LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rj_2.0.4-2
loaded via a namespace (and not attached):
[1] tools_3.2.1 rj.gd_2.0.0-1
这是什么问题?我该如何再次进行这项工作?
What would be the problem here? How can I make this work again?
在评论部分按请求进行
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8
[9] LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rj_2.0.4-2
loaded via a namespace (and not attached):
[1] tools_3.2.1 rj.gd_2.0.0-1
> library(Hmisc)
Loading required package: grid
Loading required package: lattice
Loading required package: survival
Loading required package: Formula
Loading required package: ggplot2
Attaching package: ‘Hmisc’
The following objects are masked from ‘package:base’:
format.pval, round.POSIXt, trunc.POSIXt, units
推荐答案
基于问题和评论中给出的信息,似乎问题在于由于某些原因,LD_LIBRARY_PATH
在使用StatET时不正确.我不知道为什么会这样,对于这个问题可能会有更好的解决方案,但是您至少应该能够解决它.在 .Rprofile 或 Rprofile.site 中添加一行,该行使用Sys.setenv()
将您的LD_LIBRARY_PATH
设置为明智的设置.根据上面提供的信息,可能看起来像这样:
Based on the information given in the question and comments it seems that the issue is that for some reason the LD_LIBRARY_PATH
is incorrect when using StatET. I don't know why that is and there may be a better solution to this problem but you should be able to work around it at least. Add a line to .Rprofile or Rprofile.site that uses Sys.setenv()
to set your LD_LIBRARY_PATH
to something sensible. Based on the information given above that might look something like this:
Sys.setenv(LD_LIBRARY_PATH="/usr/lib/R/lib:/usr/lib/x86_64-linux-gnu:/usr/lib")
这篇关于install.packages中的错误:在R控制台中运行时,无法使用StatET加载Internet例程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!