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
Xcode 7.3 thread local storage bug #938
Comments
This has recently been brought to our attention on our mailing list - are you the same person by any chance? I'll try the workaround you mentioned soon. |
Nope, not the same person. Just stumbled into it today working through some reverse dependencies in homebrew/science. I'd seen the same bug before with metis. This is the PR that corresponds to the commit I mentioned above: https://github.com/Homebrew/homebrew-science/pull/3491 |
Which version of the compiler it is and what flags are you passing to
|
Looks like it wants |
Applying this diff to Homebrew allows it to build
Unfortunately, building with |
Just to confirm further, I can reproduce it outside of Homebrew if I replace the -O2 -g in your configure with -Os. |
Okay, I managed to reproduce this. Changing |
@gaborcsardi will we ever need to work with bignums larger than 6464 bits? If not, I'm inclined to change this unconditionally to 202 because it would be hard to figure out the exact |
202 is fine I guess. |
The value needed for a successful workaround actually seems not to be universal. Building igraph-0.7.1, I had to set For HEAD, the 202 you hard coded works with |
Hmmm, I think in the end it all boils down to the total size of the If we want to be on the safe side, I can lower it to, say, 128. That would still give us 4096 bits for bignums, which should be plenty, and then it's also a power of two, which might help with alignment for the bit arrays we use for the bignums. What do you think? |
Yeah that sounds like what's probably going on. I'm wondering if maybe a 0.7.2 should be tagged since it seemed that this doesn't affect HEAD for some reason? |
I have lowered @gaborcsardi, are there any plans to make a 0.8.0 or 0.7.2 release of the C core in the near future? |
@ntamas Thanks. I've merged that workaround for now and rebuilt the distributed binaries: https://github.com/Homebrew/homebrew-science/pull/3587 |
Building igraph-0.7.1 with Xcode 7.3, I have to disable thread local storage, passing
--enable-tls=no
to configure, otherwise the build fails withThis is an upstream llvm bug: https://llvm.org/bugs/show_bug.cgi?id=27059
However, I believe it can be mitigated if you reduce the size of the arrays using tls, as we did here:
https://github.com/Homebrew/homebrew-science/commit/62088d6ec6b6d7aa03a3534877053196650fe1e0
Hopefully llvm will fix this soon, but a patch for igraph in the meantime would be great if possible.
The text was updated successfully, but these errors were encountered: