install.packages中的错误:在R控制台中运行时,无法使用StatET加载Internet例程 [英] Error in install.packages: internet routines cannot be loaded using StatET while it works in R console

查看:151
本文介绍了install.packages中的错误:在R控制台中运行时,无法使用StatET加载Internet例程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直是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?

在评论部分按请求进行

sessionInfo() R版本3.2.1(2015-06-18) 平台:x86_64-pc-linux-gnu(64位) 运行在:Ubuntu 14.04.2 LTS

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

> 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例程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆