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

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Tue May 21 23:08:05 CEST 2024


Hi Michelle,

On 21 May 2024 at 13:46, Nixon, Michelle Pistner wrote:
| 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!

I seem to recall that that machine is 'known-bad' for OpenMP due to the
reliance on clang-18 which cannot (?) build with it.  Might be best to
contact Kurt Hornik (CC'ed) and/or CRAN.

Best, Dirk

 
| Thanks,
| Michelle
| 
| Michelle Nixon, PhD
| 
| Assistant Research Professor
| College of Information Sciences and Technology
| The Pennsylvania State University
| 
| 	[[alternative HTML version deleted]]
| 
| ______________________________________________
| R-package-devel using r-project.org mailing list
| https://stat.ethz.ch/mailman/listinfo/r-package-devel

-- 
dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org



More information about the R-package-devel mailing list