I am having issues with undefined compiler symbols in a package with C code that I recently updated: https://www.r-project.org/nosvn/R.check/r-devel-linux-x86_64-debian-clang/poismf-00install.html The issue seems to be connected with usage of OpenMP, and happens only when compiling with clang: “Error: package or namespace load failed for 'poismf' in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/home/hornik/tmp/R.check/r-devel- clang/Work/build/Packages/00LOCK-poismf/00new/poismf/libs/poismf.so': /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/00LOCK- poismf/00new/poismf/libs/poismf.so: undefined symbol: __atomic_compare_exchange”
Prof. Ripley left the following comment: “I don't know what makes your use of OpenMP uniquely different but when using clang you need to include -latomic in the link (where it exists, as it does on Linux and probably on FreeBSD).” I am wondering if it is somehow possible to add conditional link arguments in a Makevars file depending on the user’s operating system, or if not possible, whether it would somehow hurt in windows/mac installations to add a raw -latomic in there. Best regards, David Cortes ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel