2017-04-30 1 views
1

Ich versuche, Openmp in meinem Rcpp-Code zu verwenden und einige Probleme (Mac OS) zu begegnen. Habe versucht, viel zu googlen, aber nicht in der Lage, eine Lösung zu finden, die für mich funktioniert. Würde mich freuen, wenn Sie mir ein paar Gedanken machen können.math.h nicht gefunden bei der Verwendung von openmp (llvm) mit sourceCpp

Einige meiner Setups: 1) installiert llvm von zu Hause brauen 2) makevars in ~/.R

CXX =/usr/local/opt/llvm/bin/Klirren-CPP

CXXFLAGS = -I/usr/lokal/lib -I/usr/lokal/opt/llvm/include

LDFLAGS = "- L/usr/lokal/opt/llvm/lib -Wl, -rpath,/usr/local/opt/llvm/lib "

Es sieht so aus, als ob die in den Makevars angegebenen LDFLAGS ignoriert wurden. Auch wenn ich sourceCpp (temp.cpp) verwenden, bekomme ich diesen Fehler

usr/local/opt/llvm/bin/clang-cpp -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -I"/Users/myname/Library/R/3.2/library/Rcpp/include" -I"/Users/myname/Library/R/3.2/library/RcppArmadillo/include" -fopenmp -fPIC -I/usr/local/lib -I/usr/local/opt/llvm/include -c temp.cpp -o temp.o

In file included from temp.cpp:2: /usr/local/Cellar/llvm/4.0.0_1/bin/../include/c++/v1/math.h:301:15: fatal error: 'math.h' file not found

include_next

^~~~~~~~ 1 error generated. Error in sourceCpp(paste(path2, "temp.cpp", sep = ""), verbose = TRUE, :
Error 1 occurred building shared library. make: *** [temp.o] Error 1

Im temp.cpp habe ich

setzen
#include <math.h> 
#include <RcppArmadillo.h> 
#include <omp.h> 

// [[Rcpp::depends(RcppArmadillo)]] 

// [[Rcpp::plugins(openmp)]] 



using namespace Rcpp; 
+2

Stellen Sie sicher, dass Sie alle relevanten FAQ-Einträge für OS X/macOS gelesen haben. Nach Apples Wahl hat es noch keine OpenMP-Unterstützung, aber Sie können es auch für R bekommen, wenn Sie die richtigen Tools installieren. Dies ist alles an anderen Orten dokumentiert. –

Antwort

0

Haben Sie Xcode Kommandozeilen-Tools installiert haben (oder nach dem Upgrade des Betriebssystems neu installiert)? Versuchen Sie laufen:

xcode-select --install

Dies war die Lösung für ein ähnliches Problem, das ich vor kurzem festgestellt.

Verwandte Themen