Closed compleathorseplayer closed 2 years ago
As written in the error message (and explained also on discourse), it's the binary library xgboost which requires macOS 10.15, there's nothing that can be done about that here. But you can use XGBoost_jll@1.5.2
.
An XGBoost project maintainer here.
There's nothing upstream XGBoost that requires MacOS 10.15 specifically. In the Python package, we target MacOS 10.13+: https://github.com/dmlc/xgboost/blob/ada4a86d1c3687ba78392993e6b2902d69175ef2/tests/ci_build/build_python_wheels.sh#L38
Which libxgboost.dylib
the Julia package using? Is it using Homebrew's package (https://formulae.brew.sh/formula/xgboost) ?
Building xgboost in
https://github.com/JuliaPackaging/Yggdrasil/blob/728e7c9e273188fefbe5ac008949f269fd9c97a3/X/XGBoost/build_tarballs.jl#L22-L30 requires ___cxa_deleted_virtual
(referenced by json.cc.o
according to https://github.com/JuliaPackaging/Yggdrasil/pull/4932#issuecomment-1134416085), which is in 10.15.
Thanks for pointing it out. It appears that this line https://github.com/dmlc/xgboost/blob/ada4a86d1c3687ba78392993e6b2902d69175ef2/include/xgboost/json.h#L61
is causing the issue. I can submit a pull request to remove this line. What's the best way to test the patch with older MacOS?
If you can cook up a patch (also here) I can try it over at Yggdrasil. Is just removing that line enough?
Yes, that should be sufficient. The function operator=
is not used anywhere.
Great! Thanks all!
This should have been fixed in XGBoost_jll
version 1.6.1+1
.
BTW, does this line https://github.com/dmlc/xgboost/blob/ada4a86d1c3687ba78392993e6b2902d69175ef2/tests/ci_build/build_python_wheels.sh#L36 mean that you're actually using the 10.15 SDK for building, but targeting 10.13? We could have done the same in Yggdrasil, although simply removing the offending line is a better fix overall.
you're actually using the 10.15 SDK for building, but targeting 10.13
Yes.
Hi. XGBoost seems to be broken. It failed to precompile in Julia 1.7 so I installed/Julia 1.8 fresh.
Does anyone have any ideas? Are there any alternative versions of xgboost that work on Julia?
Thanks for any help.