Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[XGBoost] Issues on Mac #778

Closed
aviks opened this issue Apr 5, 2020 · 10 comments
Closed

[XGBoost] Issues on Mac #778

aviks opened this issue Apr 5, 2020 · 10 comments

Comments

@aviks
Copy link
Contributor

aviks commented Apr 5, 2020

The latest build of XGBoost built in #657 fails to pass tests on the Mac. The error is as follows:

dyld: lazy symbol binding failed: Symbol not found: ___cxa_thread_atexit
  Referenced from: /Users/travis/.julia/artifacts/3ff38e086f3b040acfb66c0e7d42fac2bdc6eea5/lib/libxgboost.dylib
  Expected in: /Users/travis/.julia/artifacts/7c9ef733699a1d86b8a6073ed08a4457e3e790f7/lib/libstdc++.6.dylib

dyld: Symbol not found: ___cxa_thread_atexit
  Referenced from: /Users/travis/.julia/artifacts/3ff38e086f3b040acfb66c0e7d42fac2bdc6eea5/lib/libxgboost.dylib
  Expected in: /Users/travis/.julia/artifacts/7c9ef733699a1d86b8a6073ed08a4457e3e790f7/lib/libstdc++.6.dylib

signal (6): Abort trap: 6
in expression starting at /Users/travis/build/dmlc/XGBoost.jl/test/runtests.jl:8

signal (6): Abort trap: 6
in expression starting at /Users/travis/build/dmlc/XGBoost.jl/test/runtests.jl:8
unknown function (ip: 0x1098c5249)

Allocations: 10016393 (Pool: 10014671; Big: 1722); GC: 11

Full Test Results | #657

@ViralBShah says: there were many scary error messags in the Mac build

The previous binary builder builds, built by @staticfloat and available here https://github.com/JuliaBinaryWrappers/XGBoost_jll.jl/releases did work. However, the new version built into the jll as a result of #657 no longer works. It is not clear what has changed. As a short term fix, if we can get those binaries into a jll, we could move forward.

cc: @giordano

@aviks
Copy link
Contributor Author

aviks commented Apr 5, 2020

OK, one strange thing: There was a comment from @staticfloat on dmlc/XGBoost.jl#68 saying " on MacOS, we are using clang to build Julia .... Using gcc on MacOS will cause us to mix C++ stdlibs, and I don't think that's a good thing"

However, the build_tarballs.jl even prior to #657 doesn't seem to have this special casing for Mac. Elliot, was there any local uncommitted changes when you built these binaries, by any chance?

@ViralBShah
Copy link
Member

We can just disable openmp and use clang for now.

@ViralBShah
Copy link
Member

Btw are we ok on using the right commit for the build?

@giordano
Copy link
Member

giordano commented Apr 6, 2020

The previous binary builder builds, built by @staticfloat and available here JuliaBinaryWrappers/XGBoost_jll.jl/releases did work

Maybe I'm missing something, but what do you refer to? I only see v0.82 built last week

@ViralBShah
Copy link
Member

The build script existed before. I only updated it.

@giordano
Copy link
Member

giordano commented Apr 6, 2020

Ok, I think the old tarballs Avik was referring to are here. Looking at the log in the macOS tarballs, it seems that Clang was used. This should be the corresponding build script (visible also in the log).

@aviks
Copy link
Contributor Author

aviks commented Apr 7, 2020

So the new script has

# Because we're using OpenMP, we must use `gcc`
export CC=gcc
export CXX=g++

While the script linked by @giordano does not have these lines.

I am still confused -- does removing these lines make it use clang on mac but gcc everywhere else?

@giordano
Copy link
Member

giordano commented Apr 7, 2020

does removing these lines make it use clang on mac but gcc everywhere else?

Yes, by default we use GCC for Linux and Windows, Clang for macOS and FreeBSD

@ViralBShah
Copy link
Member

Is there a libc++ issue/PR that should be linked here?

@aviks
Copy link
Contributor Author

aviks commented Apr 19, 2020

Not that i know. This issue can be closed, a new version has been released with clang compiled mac (without openmp) for v0.82

@aviks aviks closed this as completed Apr 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants