2016-05-24 198 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之外安装它。