【发布时间】:2021-03-02 20:28:14
【问题描述】:
我在尝试在 R 中安装 caret 包时遇到以下错误。
g++: error: /tmp/Rtmp2Tos7n/R.INSTALL2e6e30153a74/nloptr/nlopt-2.4.2/lib/libnlopt_cxx.a:
No such file or directory make: *** [nloptr.so] Error 1
ERROR: compilation failed for package ‘nloptr’
* removing ‘/rmt/csfiles/pgrads/mava290/R/x86_64-suse-linux-gnu-library/3.1/nloptr’
Warning in install.packages :
installation of package ‘nloptr’ had non-zero exit status
ERROR: dependency ‘nloptr’ is not available for package ‘lme4’
* removing ‘/rmt/csfiles/pgrads/mava290/R/x86_64-suse-linux-gnu-library/3.1/lme4’
Warning in install.packages :
installation of package ‘lme4’ had non-zero exit status
ERROR: dependency ‘lme4’ is not available for package ‘pbkrtest’
* removing ‘/rmt/csfiles/pgrads/mava290/R/x86_64-suse-linux-gnu-library/3.1/pbkrtest’
Warning in install.packages :
installation of package ‘pbkrtest’ had non-zero exit status
ERROR: dependency ‘lme4’ is not available for package ‘BradleyTerry2’
* removing ‘/rmt/csfiles/pgrads/mava290/R/x86_64-suse-linux-gnu-library/3.1/BradleyTerry2’
Warning in install.packages :
installation of package ‘BradleyTerry2’ had non-zero exit status
ERROR: dependency ‘pbkrtest’ is not available for package ‘car’
* removing ‘/rmt/csfiles/pgrads/mava290/R/x86_64-suse-linux-gnu-library/3.1/car’
Warning in install.packages :
installation of package ‘car’ had non-zero exit status
ERROR: dependencies ‘car’, ‘BradleyTerry2’ are not available for package ‘caret’
* removing ‘/rmt/csfiles/pgrads/mava290/R/x86_64-suse-linux-gnu-library/3.1/caret’
Warning in install.packages :
installation of package ‘caret’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpG9dYqn/downloaded_packages’
我查看了另一个有类似问题的问题
Dependency issue while installing caret package in R
解决这个问题的方法是先安装每个依赖项,但它们都有相同的错误消息。例如:
>install.packages('nloptr')
g++: error: /tmp/RtmpgEn54A/R.INSTALL7015350f0d03/nloptr/nlopt-2.4.2/lib/libnlopt_cxx.a: No such file or directory
make: *** [nloptr.so] Error 1
ERROR: compilation failed for package ‘nloptr’
* removing ‘/rmt/csfiles/pgrads/mava290/R/x86_64-suse-linux-gnu-library/3.1/nloptr’
Warning in install.packages :
installation of package ‘nloptr’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpG9dYqn/downloaded_packages’
我还尝试更改 repos 即。 install.packages('caret', repos='http://cran.rstudio.com/') 但它也不起作用。
我的会话信息如下:
> sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-suse-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.1.2
【问题讨论】:
-
你是不是先安装了nlopt库的头文件?
-
@Pascal:我尝试使用命令
install.packages("nloptr", repos="http://R-Forge.R-project.org")按照本网站r-forge.r-project.org/R/?group_id=933 中给出的方式安装它。这还不够吗?我用的是linux -
不,如果您没有在 Linux 系统中安装 nlopt 库的头文件,则不会。
-
在我的机器(Linux Debian)上,有一个 libnopt-dev 包。我相信这是导致编译失败的原因,您必须在安装 R 包之前安装它(使用 YaST 等包管理器,而不是 R)。
-
尝试 sudo apt-get install r-cran-caret 。如果您无法弄清楚其他情况,这可能会为您安装依赖项。