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

Hpx does not compile over osx #2137

Closed
AALEKH opened this issue May 2, 2016 · 15 comments

Comments

Projects
None yet
6 participants
@AALEKH
Copy link
Member

commented May 2, 2016

On Executing make -jN , I receive following error's:

  1. /usr/local/include/boost/context/execution_context.ipp:61:5: error: thread-local storage is not supported for the current target
    thread_local static ptr_t current_rec;

This is probably due to lack of Thread local storage implementation over Clang (here: http://stackoverflow.com/a/29929949 )

PS: I am using boost-1.60.0_1

@sithhell

This comment has been minimized.

Copy link
Member

commented May 2, 2016

On 05/02/2016 12:29 PM, Aalekh Nigam wrote:

On Executing make -jN , I receive following error's:

  1. /usr/local/include/boost/context/execution_context.ipp:61:5: error:
    thread-local storage is not supported for the current target
    thread_local static ptr_t current_rec;

This is probably due to lack of Thread local storage implementation over
Clang (here: http://stackoverflow.com/a/29929949 )

That's actually a bug in boost. Which boost version are you using? We
had this issue popping on IRC recently, I don't remember which version
exactly, but 1.59 is supposedly good (with -DHPX_WITH_NATIVE_TLS:BOOL=OFF).

@hkaiser hkaiser added this to the 0.9.12 milestone May 2, 2016

@AALEKH

This comment has been minimized.

Copy link
Member Author

commented May 2, 2016

@sithhell I am using boost version 1.60.
Will give it a try with boost 1.59 and update if things work out fine.

@hkaiser

This comment has been minimized.

Copy link
Member

commented May 2, 2016

@AALEKH Please prepare a PR for the docs (around here: https://github.com/STEllAR-GROUP/hpx/blob/master/docs/manual/build_system/prerequisites.qbk#L72-L84) describing which versions don't work.

@zao I think you did a sweep over boost versions etc. Do you remember the outcome?

@zao

This comment has been minimized.

Copy link
Contributor

commented May 2, 2016

If I read my logs right: 1.58 and 1.60 were unsuitable, <=1.57, 1.59 and current Boost master were fine.

@K-ballo

This comment has been minimized.

Copy link
Member

commented May 3, 2016

Could/should we catch this in config.hpp?

@hkaiser

This comment has been minimized.

Copy link
Member

commented May 3, 2016

Could/should we catch this in config.hpp ?

Yes, good thinking!

@hkaiser

This comment has been minimized.

Copy link
Member

commented May 3, 2016

... or even better, in cmake at configure time.

@hkaiser

This comment has been minimized.

Copy link
Member

commented May 8, 2016

A documentation note was added by #2143

@ktf

This comment has been minimized.

Copy link

commented May 20, 2016

indeed a note in the requirements and a find_boost required version would be nice. Thank you for the quick feedback.

@sithhell

This comment has been minimized.

Copy link
Member

commented May 20, 2016

On 05/20/2016 08:02 AM, Giulio Eulisse wrote:

indeed a note in the requirements and a find_boost required version
would be nice. Thank you for the quick feedback.

There is a note in the documentation here:
http://stellar-group.github.io/hpx/docs/html/hpx/manual/build_system/prerequisites.html

I agree that giving an error when finding boost would be appropriate,
however, it is hard to distinguish and figure out if you really have a
problem. What you can detect is:

  1. Are we running on OSX?
  2. Which compiler
  3. Which Boost version

The problematic part is 2). thread local works if you have your own
vanilla clang version instead of the one that comes with xcode. That's
why we didn't want to give an error in that case.

@ktf

This comment has been minimized.

Copy link

commented May 20, 2016

IMHO, you could simply ask for boost >= 1.61 on OSX and that's it. What made me miss the warning is that in the page you point to it says:

See below for an important limitation when using Boost V1.54.0.

which made me overlook the other rest of the page.

@sithhell

This comment has been minimized.

Copy link
Member

commented May 20, 2016

Am 20.05.2016 10:20 vorm. schrieb "Giulio Eulisse" <notifications@github.com

:

IMHO, you could simply ask for boost >= 1.61 on OSX and that's it. What made me miss the warning is that in the page you point to it says:

1.61 was only released very recently...

See below for an important limitation when using Boost V1.54.0.

... I agree, the wording here is poor.

which made me overlook the other rest of the page.


You are receiving this because you were mentioned.

Reply to this email directly or view it on GitHub

@K-ballo

This comment has been minimized.

Copy link
Member

commented May 20, 2016

Wouldn't it suffice to check Boost version and lack of thread_local support?

@ktf

This comment has been minimized.

Copy link

commented May 20, 2016

Yes, I agree. A simple test for thread_local is probably the best.

@sithhell

This comment has been minimized.

Copy link
Member

commented May 20, 2016

@sithhell sithhell modified the milestones: 0.9.99, 1.0.0 Jul 15, 2016

@hkaiser hkaiser modified the milestones: 1.0.0, 1.1.0 Apr 23, 2017

hkaiser added a commit that referenced this issue Oct 12, 2017

hkaiser added a commit that referenced this issue Oct 12, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.