[Rcpp-devel] Package using Rcpp+openmp - fatal error: 'omp.h' file not found

Dirk Eddelbuettel edd at debian.org
Tue Aug 10 03:32:22 CEST 2021


(I replied earlier but that seems to have gotten lost. Apologies to anybody
who may receive two copies, and thanks to Simon for his answer.  -- Dirk)


On 9 August 2021 at 17:04, Naeem Khoshnevis wrote:
| Do you know a workaround for this issue?

Wrap the #include by #ifdef _OPENMP and #endif

Test for presence of OpenMP (for example via a configure script). 

Use the standard R compilation flags. RcppArmadillo uses

  PKG_CXXFLAGS = -I../inst/include @OPENMP_FLAG@
  PKG_LIBS= @OPENMP_FLAG@ $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

where @OPENMP_FLAG@ gets set if OpenMP is found.  Other packages just use

  PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS) 
  PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

relying on R which sets SHLIB_OPENMP_CXXFLAGS.

Dirk

-- 
https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org


More information about the Rcpp-devel mailing list