Opened 5 years ago

Closed 3 months ago

#38493 closed defect (fixed)

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), 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 Schmidt) 5 years ago.
log from Snow Leopard with MacPorts clang 3.2

Download all attachments as: .zip

Change History (14)

comment:1 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)

Attachment: main.log added

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!

comment:8 Changed 3 months ago by pmetzger (Perry E. Metzger)

Ryan, do you think this can be closed?

comment:9 Changed 3 months ago by pmetzger (Perry E. Metzger)

Cc: pmetzger added

comment:10 Changed 3 months ago by ryandesign (Ryan 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 3 months 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 3 months 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 3 months 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.