Closed barracuda156 closed 1 year ago
Thanks a lot for reporting this.
I have not yet had a lot of time to look into this.
Which version of macOS are you using and which chip? arm64 Apple silicon, e.g., M1/M2, or older x86 Intel ones?
Have you read these requirements? https://github.com/fabsig/GPBoost/tree/master/python-package#requirements
In particular the ones concerning arm64 (M1/M2) if you have one of those (see glibc, proper installation of libomp / homebrew)
@fabsig Thank you for responding. I should have made clear I refer to building R package, I added that to issue title now.
libomp
is Clang-specific library. GCC has libgomp
, but normally it needs only -fopenmp
flag passed, not explicit linking to the dylib.
(I build for ppc
, but this issue is not arch-specific: GCC does not use libomp
on any arch.)
I switched my PR to draft, because while I fixed OpenMP detection with GCC, I am getting one symbol undefined: https://github.com/fabsig/GPBoost/issues/97 Apparently emulated TLS still needs some fix.
Is it an arm64 Apple silicon, e.g., M1/M2, or x86 Intel processor?
I suggest that you still pay attention to the Python package requirements. It might be that the OpenMP / libgomp
library is not correctly installed for ARM processors (-> uninstall homebrew, reinstall homebrew, install libgomp
). Just a guess...
FWIW: if it is the R package, why don't you just take it from CRAN? There are many precompiled versions there.
@fabsig This is on PowerPC :)
libgomp
is installed perfectly fine, it is configure script which is used here that is broken and fails to find it, assuming that macOS = Clang, which is obviously needs not be the case.
Anyway, I have fixed everything, will update the PR (symbol error mentioned above is specific to emulation in Rosetta, for w/e reason; native build is fine).
UPD. All tests pass now.
Very nice! Thanks a lot for your contribution.
Configure assumes Clang’s
libomp
, while GCC useslibgomp
.