Opened 12 years ago
Closed 7 years ago
#38493 closed defect (fixed)
rethinkdb: error: thread-local storage is unsupported for the current target
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.3 |
Keywords: | snowleopard | Cc: | anatol (Anatol Pomozov), cooljeanius (Eric Gallager), pmetzger (Perry E. Metzger) |
Port: | rethinkdb |
Description
rethinkdb @1.4.0 fails to build on Snow Leopard with this error:
In file included from src/arch/address.cc:14: ./src/arch/runtime/thread_pool.hpp:94:12: error: thread-local storage is unsupported for the current target static __thread linux_thread_pool_t *thread_pool; ^
Note that in #36172 we had the same error for povray on Snow Leopard, and did not find a solution.
Attachments (1)
Change History (14)
comment:1 follow-up: 2 Changed 12 years ago by cooljeanius (Eric Gallager)
comment:2 Changed 12 years ago by larryv (Lawrence Velázquez)
Cc: | anatol.pomozov@… added |
---|
comment:3 Changed 12 years ago by anatol (Anatol Pomozov)
The problem is that your compiler does not support Thread-local storage variables for MachO binary format. I had exactly the same question to Clang mailist 2 years ago http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-March/013668.html
It means you cannot use gcc-4.2 - it does not support TLS. Alternatives - use more recent version gcc (4.6 seems work fine) or recent version of clang. 2 years ago clang did not have support for _thread, but I believe it has now.
comment:4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
The rethinkdb configure script checks for old versions of g++ and prevents their use (see #38490). We are already going to great lengths in the portfile to blacklist those old compilers (r104262, r104264), and in the case of Snow Leopard, where none of the compilers provided by Xcode are new enough, we are already using MacPorts clang 3.2, and it does not work either. I've now attached the complete log.
Note that we had the same problem for povray in #36172, despite testing all MacPorts versions of clang.
comment:ticket:36172:12 suggested that povray may be searching for TLS support incorrectly, and Jeremy pointed to another project which does it correctly, but I didn't feel it was within my expertise to port that knowledge to povray. Perhaps someone else can take a look and see if that fix can be ported to povray and rethinkdb.
Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
log from Snow Leopard with MacPorts clang 3.2
comment:5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
I was going to wait until we update to 1.4.1, and then if it's still a problem, open a ticket with the developers.
comment:6 Changed 12 years ago by anatol (Anatol Pomozov)
In this case please pull the version update from #38497 and test it on macosx 10.6
If you already use latest clang, then my next guess is that TLS is not supported on 10.6.
comment:9 Changed 7 years ago by pmetzger (Perry E. Metzger)
Cc: | pmetzger added |
---|
comment:10 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
As you know, rethinkdb doesn't build at all right now due to its dependency coffee-script not building. I don't know, if that were fixed and the rethinkdb port were updated to the latest version, whether it would then build successfully on Snow Leopard. Until we know whether that is the case, or until the rethinkdb port is deleted, I would not close this ticket.
comment:11 Changed 7 years ago by kencu (Ken)
FYI, thread_local is supported now on SnowLeopard but only when building with gcc6 or gcc7.
I have a personal customized version of clang-5.0 that supports thread_local on snow leopard as well, but not quite yet ready for release into the wild...
comment:12 Changed 7 years ago by pmetzger (Perry E. Metzger)
Given that coffee-script isn't going to be fixed any time soon, I suspect that rethinkdb is going to be deleted. :(
comment:13 Changed 7 years ago by pmetzger (Perry E. Metzger)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Even though anatol.pomozov@… hasn't officially added himself as the maintainer for this port yet, I'd still recommend cc-ing him on this, because he's still acting like the maintainer for it, at least.