[R-pkg-devel] Compile issues on r-devel-linux-x86_64-debian-clang with OpenMP

Nixon, Michelle Pistner m@p5672 @end|ng |rom p@u@edu
Tue May 21 15:46:47 CEST 2024


Hi all,

I'm running into build issues for my package (fido: https://github.com/jsilve24/fido) on the r-devel-linux-x86_64-debian-clang system on CRAN (full check log here: https://win-builder.r-project.org/incoming_pretest/fido_1.1.0_20240515_211644/Debian/00install.out). fido relies on several of the Rcpp packages, and I think the error is due to how OpenMP is set up in our package. The error in question states:

"Error: package or namespace load failed for �fido� in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/00LOCK-fido/00new/fido/libs/fido.so':
  /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/00LOCK-fido/00new/fido/libs/fido.so: undefined symbol: omp_get_thread_num"

I've had a hard time recreating the error, as I can successfully get the package to build on other systems (GitHub action results here: https://github.com/jsilve24/fido/actions) including a system using the same version of R/clang as the failing CRAN check. Looking at the logs between the two, the major difference is the lack of -fopenmp in the compiling function on the CRAN version (which is there on the r-hub check version with the same specifications):

(From the CRAN version) clang++-18 -std=gnu++17 -shared -L/home/hornik/tmp/R-d-clang-18/lib -Wl,-O1 -o fido.so ConjugateLinearModel.o MaltipooCollapsed_LGH.o MaltipooCollapsed_Optim.o MatrixAlgebra.o PibbleCollapsed_LGH.o PibbleCollapsed_Optim.o PibbleCollapsed_Uncollapse.o PibbleCollapsed_Uncollapse_sigmaKnown.o RcppExports.o SpecialFunctions.o test_LaplaceApproximation.o test_MultDirichletBoot.o test_utils.o -L/home/hornik/tmp/R-d-clang-18/lib -lR

My initial thought was an issue in the configure scripts (which we borrowed heavily from RcppArmadillo but made slight changes to (which is the most likely cause if there is issue here)) or that there is some mismatch somewhere as to whether or not OpenMP is available, but there isn't an obvious bug to me.

Any guidance on how to debug would be greatly appreciated!

Thanks,
Michelle

Michelle Nixon, PhD

Assistant Research Professor
College of Information Sciences and Technology
The Pennsylvania State University

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list