Opened 11 years ago

Closed 6 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)

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

Download all attachments as: .zip

Change History (14)

comment:1 Changed 11 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 11 years ago by cooljeanius (Eric Gallager) (previous) (diff)

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

Cc: anatol.pomozov@… added

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

Attachment: main.log added

log from Snow Leopard with MacPorts clang 3.2

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

Cc: egall@… added

Cc Me!

comment:8 Changed 6 years ago by pmetzger (Perry E. Metzger)

Ryan, do you think this can be closed?

comment:9 Changed 6 years ago by pmetzger (Perry E. Metzger)

Cc: pmetzger added

comment:10 Changed 6 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 6 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 6 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 6 years ago by pmetzger (Perry E. Metzger)

Resolution: fixed
Status: newclosed

In 8c7264bca01707150bab672b4d949e44744bccc8/macports-ports (master):

rethinkdb: remove port

This hasn't built in three years, upgrading it will require
substantial work that no one is willing to do, and when it gets
redone, the Portfile will probably be quite different.

Closes: #38493
Closes: #47641
Closes: #48546

Note: See TracTickets for help on using tickets.