Opened 5 years ago

Last modified 5 years ago

#38493 new defect

rethinkdb: error: thread-local storage is unsupported for the current target

Reported by: ryandesign (Ryan Schmidt) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: snowleopard Cc: anatol (Anatol Pomozov), cooljeanius (Eric Gallager)
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)

main.log (26.4 KB) - added by ryandesign (Ryan Schmidt) 5 years ago.
log from Snow Leopard with MacPorts clang 3.2

Download all attachments as: .zip

Change History (8)

comment:1 follow-up: Changed 5 years ago by cooljeanius (Eric Gallager)

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.

Last edited 5 years ago by cooljeanius (Eric Gallager) (previous) (diff)

comment:2 in reply to: ↑ 1 Changed 5 years ago by larryv (Lawrence Velázquez)

  • Cc anatol.pomozov@… added

comment:3 Changed 5 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 5 years ago by ryandesign (Ryan 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 5 years ago by ryandesign (Ryan Schmidt)

log from Snow Leopard with MacPorts clang 3.2

comment:5 Changed 5 years ago by ryandesign (Ryan 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 5 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:7 Changed 5 years ago by cooljeanius (Eric Gallager)

  • Cc egall@… added

Cc Me!

Note: See TracTickets for help on using tickets.