簡體   English   中英

在 R 3.3.0 上安裝 nloptr package 時出現問題

[英]Trouble installing nloptr package on R 3.3.0

我無法在 R 3.3.0 上安裝 package nloptr 1.0.4。 消息如下:

> install.packages("nloptr")
Installing package into ‘/Users/fgomesbarros/Library/R/3.3/library
(as ‘lib’ is unspecified)
trying URL 'https://cran.revolutionanalytics.com/src/contrib/nloptr_1.0.4.tar.gz'
Content type 'application/octet-stream' length 353942 bytes (345 KB)
==================================================
downloaded 345 KB

* installing *source* package ‘nloptr’ ...
** package ‘nloptr’ successfully unpacked and MD5 sums checked
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking for pkg-config... yes
configure: Now testing for NLopt header file.
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking nlopt.h usability... yes
checking nlopt.h presence... yes
checking for nlopt.h... yes
configure: Suitable NLopt library found.
configure: creating ./config.status
config.status: creating src/Makevars
** libs
/usr/bin/clang++ -I/opt/local/Library/Frameworks/R.framework/Resources/include -DNDEBUG  -I/opt/local/include    -fPIC  -pipe -Os -arch x86_64 -stdlib=libstdc++  -c dummy.cpp -o dummy.o
/usr/bin/clang -I/opt/local/Library/Frameworks/R.framework/Resources/include -DNDEBUG  -I/opt/local/include    -fPIC  -pipe -Os -arch x86_64  -c nloptr.c -o nloptr.o
/usr/bin/clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/opt/local/Library/Frameworks/R.framework/Resources/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -o nloptr.so dummy.o nloptr.o -F/opt/local/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Users/fgomesbarros/Library/R/3.3/library/nloptr/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/Users/fgomesbarros/Library/R/3.3/library/nloptr/libs/nloptr.so':
  dlopen(/Users/fgomesbarros/Library/R/3.3/library/nloptr/libs/nloptr.so, 6): Symbol not found: _nlopt_add_equality_mconstraint
  Referenced from: /Users/fgomesbarros/Library/R/3.3/library/nloptr/libs/nloptr.so
  Expected in: flat namespace
 in /Users/fgomesbarros/Library/R/3.3/library/nloptr/libs/nloptr.so
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/Users/fgomesbarros/Library/R/3.3/library/nloptr’
* restoring previous ‘/Users/fgomesbarros/Library/R/3.3/library/nloptr’
Warning in install.packages :
  installation of package ‘nloptr’ had non-zero exit status

The downloaded source packages are in
    ‘/private/var/folders/rz/dp6vmb39165406h9qv69q60c0000gn/T/RtmpLvLOmn/downloaded_packages’`

我的 R 版本是 3.3.0,如下所示:

> version
               _                           
platform       x86_64-apple-darwin12.6.0   
arch           x86_64                      
os             darwin12.6.0                
system         x86_64, darwin12.6.0        
status                                     
major          3                           
minor          3.0                         
year           2016                        
month          05                          
day            03                          
svn rev        70573                       
language       R                           
version.string R version 3.3.0 (2016-05-03)
nickname       Supposedly Educational      

有什么線索嗎?

我還嘗試在 R 的舊版本(2.3.3 和 2.3.4)中安裝並遇到同樣的問題。

提前致謝。

我能夠使用我的 Mac 解決這個問題

$ brew install nlopt

調查這個問題,我注意到據報道其他人已經解決了 Ubuntu 上的問題,使用

$ sudo apt-get install libnlopt-dev

顯然你現在需要在 R 之外安裝它。

對我來說,運行 CentOS 時,缺少的拼圖是這樣的:

     sudo yum install nlopt-devel

我嘗試以 root 身份重新安裝該軟件包,並且成功了! 我不知道為什么。

如果您在 macOS High Sierra 上使用 nloptr 1.2.0 和 R 3.5.1 遇到此問題,則brew install nlopt將由於/usr/local權限不足而失敗。 修復:

$ mkdir /usr/local/Frameworks
$ sudo chown -R $(whoami) /usr/local/Frameworks
$ brew install nlopt

換句話說,您不想更改整個/usr/local目錄的權限。 當 Homebrew 嘗試創建/usr/local/Framework時,安裝失敗。 所以,如上圖所示,手動完成。 然后再試一次> install.packages("nloptr") 它對我有用。

我不得不重新安裝 R,使用 R-CRAN 安裝程序並卸載 macports 包。

它終於奏效了!

In my case it was the issue of cmake as i am using ubuntu 22. i was installing matlib package of R and then in dependencies i faced this issue which is solved using

sudo apt-get install cmake

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM