Opened 12 years ago

Last modified 9 months ago

#36408 new defect

mercury @11.01: error: thread-local storage is unsupported for the current target

Reported by: elvadrias@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), JadeNB1729@…
Port: mercury

Description

Installing fails at "staging into destroot" step

These are the last 30 lines of the installation log :

:info:destroot In file included from ./mercury_imp.h:62:
:info:destroot ./mercury_engine.h:437:12: error: thread-local storage is unsupported for the current target
:info:destroot     extern __thread MercuryEngine *MR_thread_engine_base;
:info:destroot            ^
:info:destroot 1 error generated.
:info:destroot gmake[2]: *** [mercury_accurate_gc.o] Error 1
:info:destroot gmake[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_mercury/mercury/work/mercury-compiler-11.01/install_grade_dir.hlc.par.gc/runtime'
:info:destroot To clean up from failed install, remove /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_mercury/mercury/work/mercury-compiler-11.01/install_grade_dir.hlc.par.gc
:info:destroot gmake[1]: *** [install_grades] Error 1
:info:destroot gmake[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_mercury/mercury/work/mercury-compiler-11.01'
:info:destroot make: *** [install] Error 2
:info:destroot make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_mercury/mercury/work/mercury-compiler-11.01'
:info:destroot Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_mercury/mercury/work/mercury-compiler-11.01" && /usr/bin/make -w install  
:info:destroot Exit code: 2
:error:destroot org.macports.destroot for port mercury returned: command execution failed
:debug:destroot Error code: CHILDSTATUS 1067 2
:debug:destroot Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within
"command_exec destroot"
    (procedure "portdestroot::destroot_main" line 2)
    invoked from within
"$procedure $targetname"
:info:destroot Warning: targets not executed for mercury: org.macports.activate org.macports.destroot org.macports.install
:notice:destroot Please see the log file for port mercury for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_mercury/mercury/main.log

Attachments (3)

main.log.bz2 (320.5 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
elvadrias' log compressed
main.log.2.bz2 (374.1 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
ryandesign's main.log
mercury-11.07.2.diff (15.1 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
incomplete patch

Download all attachments as: .zip

Change History (11)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Can you attach the full main.log file please?

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log.bz2 added

elvadrias' log compressed

comment:4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: testing1@… ryandesign@… added
Port: mercury added
Summary: mercury @11.01 error while staging into destrootmercury @11.01: error: thread-local storage is unsupported for the current target

Thanks. That's a huge log... 23 MB... I've attached a compressed version of it and deleted the original. It's still not a complete log though: for all phases before destroot it just says "Skipping completed". Could you "sudo port clean mercury", then try again, then attach the new compressed main.log? I'm currently also trying the install on my system (Mountain Lion).

Previously (on Snow Leopard a year ago) I was able to compile mercury but it did not work; see #31300.

A new version of mercury is available. I'll try updating the port.

Note that you don't need to Cc yourself when you are the reporter.

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log.2.bz2 added

ryandesign's main.log

comment:5 in reply to:  4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign@…:

Thanks. That's a huge log... 23 MB... I've attached a compressed version of it and deleted the original. It's still not a complete log though: for all phases before destroot it just says "Skipping completed". Could you "sudo port clean mercury", then try again, then attach the new compressed main.log? I'm currently also trying the install on my system (Mountain Lion).

I've attached my complete main.log; I get the same error as you.

comment:6 in reply to:  description Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to elvadrias@…:

:info:destroot In file included from ./mercury_imp.h:62:
:info:destroot ./mercury_engine.h:437:12: error: thread-local storage is unsupported for the current target

The NEWS file for mercury 11.07.2 includes this change:

  • Thread local storage now works on Mac OS X when using clang as the C compiler.

So I'm hopeful updating to that version will help.

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: mercury-11.07.2.diff added

incomplete patch

comment:7 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

I'm attaching a patch to update the port to 11.07.2.

It seems upstream now supports DESTDIR which lets us simplify the port a lot and hopefully thereby fix #31300.

But destroot does not complete for me. It complains:

cp ./libatomic_ops-install/lib/libatomic_ops.a gc.a
cp: ./libatomic_ops-install/lib/libatomic_ops.a: No such file or directory

Any ideas?

comment:8 Changed 12 years ago by JadeNB1729@…

Cc: JadeNB1729@… added

Cc Me!

comment:9 Changed 7 years ago by jmroot (Joshua Root)

Is this still a problem with the current version (14.01.1)?

comment:10 Changed 9 months ago by barracuda156

Should it use TLS-capable compiler for the bootstrap? This does not seem to be necessary, but who knows.

Note: See TracTickets for help on using tickets.