2016-05-24 248 views
4

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

> 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),並且有同樣的問題。

在此先感謝。

+0

對於我來說,這*看起來像您可能需要更新您的Rcpp軟件包。 –

+0

也不確定,但我懷疑可能是編譯/鏈接的'clang'和'g ++'混合包的部分不兼容。 – RHertel

+0

Rcpp是最新的,Jeremy。 –

回答

2

我試圖重新安裝軟件包作爲根,它的工作!我不知道爲什麼。

+0

沒有爲我工作。 –

0

我能夠使用

$ brew install nlopt 

展望問題,我注意到,其他人據說解決了使用Ubuntu的問題,解決我的Mac上的問題

$ sudo apt-get install libnlopt-dev 

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