You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The CMake option of USE_OPENMP=OFF is meant to allow compilation of xgboost without the OpenMP libraries. However this fails on master. It did work as expected on 1.0.2 and 0.82.0
Build Script:
git submodule init; git submodule update
mkdir build; cd build
cmake .. -DUSE_OPENMP=OFF
make -j2
On a Mac, using clang, without libgomp installed, we get a compiler error
[ 47%] Building CXX object src/CMakeFiles/objxgboost.dir/metric/rank_metric.cc.o
/Users/aviks/dev/julia/xgboost/src/metric/rank_metric.cc:192:13: error: use of undeclared identifier 'omp_in_parallel'
if (omp_in_parallel()) {
^
/Users/aviks/dev/julia/xgboost/src/metric/rank_metric.cc:560:13: error: use of undeclared identifier 'omp_in_parallel'
if (omp_in_parallel()) {
^
2 errors generated.
make[2]: *** [src/CMakeFiles/objxgboost.dir/metric/rank_metric.cc.o] Error 1
make[1]: *** [src/CMakeFiles/objxgboost.dir/all] Error 2
make: *** [all] Error 2
On a linux machine with gcc9, we get a linker error
[ 98%] Linking CXX executable ../xgboost
/usr/bin/ld: src/CMakeFiles/objxgboost.dir/metric/rank_metric.cc.o: in function `xgboost::metric::EvalAucPR::Eval(xgboos
t::HostDeviceVector<float> const&, xgboost::MetaInfo const&, bool)':
rank_metric.cc:(.text._ZN7xgboost6metric9EvalAucPR4EvalERKNS_16HostDeviceVectorIfEERKNS_8MetaInfoEb[_ZN7xgboost6metric9E
valAucPR4EvalERKNS_16HostDeviceVectorIfEERKNS_8MetaInfoEb]+0x5a4): undefined reference to `omp_in_parallel'
/usr/bin/ld: rank_metric.cc:(.text._ZN7xgboost6metric9EvalAucPR4EvalERKNS_16HostDeviceVectorIfEERKNS_8MetaInfoEb[_ZN7xgb
oost6metric9EvalAucPR4EvalERKNS_16HostDeviceVectorIfEERKNS_8MetaInfoEb]+0x1069): undefined reference to `omp_in_parallel
'
/usr/bin/ld: src/CMakeFiles/objxgboost.dir/metric/rank_metric.cc.o: in function `xgboost::metric::EvalAuc::Eval(xgboost:
:HostDeviceVector<float> const&, xgboost::MetaInfo const&, bool)':
rank_metric.cc:(.text._ZN7xgboost6metric7EvalAuc4EvalERKNS_16HostDeviceVectorIfEERKNS_8MetaInfoEb[_ZN7xgboost6metric7Eva
lAuc4EvalERKNS_16HostDeviceVectorIfEERKNS_8MetaInfoEb]+0x484): undefined reference to `omp_in_parallel'
/usr/bin/ld: rank_metric.cc:(.text._ZN7xgboost6metric7EvalAuc4EvalERKNS_16HostDeviceVectorIfEERKNS_8MetaInfoEb[_ZN7xgboo
st6metric7EvalAuc4EvalERKNS_16HostDeviceVectorIfEERKNS_8MetaInfoEb]+0x864): undefined reference to `omp_in_parallel'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/runxgboost.dir/build.make:191: ../xgboost] Error 1
make[1]: *** [CMakeFiles/Makefile2:172: CMakeFiles/runxgboost.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
The text was updated successfully, but these errors were encountered:
The CMake option of
USE_OPENMP=OFF
is meant to allow compilation of xgboost without the OpenMP libraries. However this fails on master. It did work as expected on 1.0.2 and 0.82.0Build Script:
On a Mac, using clang, without libgomp installed, we get a compiler error
On a linux machine with gcc9, we get a linker error
The text was updated successfully, but these errors were encountered: