xgboost: [jvm-package] xgboost for JVM has test failures on OS X
I can build the regular R, C and python packages just fine. Even the first test cases from the JVM based build i.e. where the DMatrix is tested are green. However with rabit/JNI on spark https://gist.github.com/geoHeil/bc88c2b849eca875e580b8ff170fd598 I see only JNI error messages.
Environment info
Operating System: mac osx 10.12.5
Compiler: gcc7
Package used (python/R/jvm/C++): JVM
xgboost version used: current master branch
If installing from source, please provide
- The commit hash (
git rev-parse HEAD) cd7659937b2c6a4a82988a72761a7f21d9b53743 - Logs will be helpful (If logs are large, please upload as attachment). https://gist.github.com/geoHeil/bc88c2b849eca875e580b8ff170fd598
If you are using jvm package, please
gcc --version [±master ✓]
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Steps to reproduce
- checkout latest xgboost from master branch
- build the JVM package
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 20 (15 by maintainers)
my error is fixed with the patch suggested by @superbobry and it works in spark as well.
thank you sooooo much!
You can manually apply the patch in dmlc/dmlc-core#351.
I want to point out that fixing this issue doesn’t require applying not yet merged patch. Original patch issue highlights that root cause is locale-dependent code for parameter parsing. 0.5 is parsed as 0 because input is expected to be 0,5 under certain locales (for example, russian). You can avoid this error by enforcing en_US locale (especially LC_NUMERIC):
Build will pass fine with such settings. In my case locale slipped in on another host through ssh session because of
SendEnv LANG LC_*setting in /etc/ssh/ssh_config