Discussion:
ROOT 5.34.22 fails to build with C++11 support enabled
Christopher Jones
2014-10-11 14:03:43 UTC
Permalink
Hi,

I am trying to build the new ROOT 5.34.22 release, on OSX 10.9. I am using the configuration
./configure macosx64 --enable-c++11
make -j 8
and this leads to a compilation failure.

/Users/chris/Projects/root/core/meta/src/TCint.cxx:2430:4: error: thread-local storage is unsupported for the current target
thread_local static TString stldir;
^

Full configuration and build logs attached.

The problem seems to be with the --enable-c++11 option, as removing this seems to work.

There were no such problems with the last release, 5.34.21.

cheers Chris
Philippe Canal
2014-10-11 16:10:04 UTC
Permalink
Hi Chris,

Thanks for the report. I'll fix it shortly.

Cheers,
Philippe.
Post by Christopher Jones
Hi,
I am trying to build the new ROOT 5.34.22 release, on OSX 10.9. I am using the configuration
./configure macosx64 --enable-c++11
make -j 8
and this leads to a compilation failure.
/Users/chris/Projects/root/core/meta/src/TCint.cxx:2430:4: error: thread-local storage is unsupported for the current target
thread_local static TString stldir;
^
Full configuration and build logs attached.
The problem seems to be with the --enable-c++11 option, as removing this seems to work.
There were no such problems with the last release, 5.34.21.
cheers Chris
Philippe Canal
2014-10-11 17:26:01 UTC
Permalink
Hi Chris,

This has been fixed in the v5.34 patch branch.

Cheers,
Philippe.
Post by Christopher Jones
Hi,
I am trying to build the new ROOT 5.34.22 release, on OSX 10.9. I am using the configuration
./configure macosx64 --enable-c++11
make -j 8
and this leads to a compilation failure.
/Users/chris/Projects/root/core/meta/src/TCint.cxx:2430:4: error: thread-local storage is unsupported for the current target
thread_local static TString stldir;
^
Full configuration and build logs attached.
The problem seems to be with the --enable-c++11 option, as removing this seems to work.
There were no such problems with the last release, 5.34.21.
cheers Chris
Fons Rademakers
2014-10-11 18:50:32 UTC
Permalink
Hi Philippe,

I see the same problem with the head of the patches branch. Both with c++11 and libcxx.

Cheers, Fons.
Post by Philippe Canal
Hi Chris,
This has been fixed in the v5.34 patch branch.
Cheers,
Philippe.
Post by Christopher Jones
Hi,
I am trying to build the new ROOT 5.34.22 release, on OSX 10.9. I am using the configuration
./configure macosx64 --enable-c++11
make -j 8
and this leads to a compilation failure.
/Users/chris/Projects/root/core/meta/src/TCint.cxx:2430:4: error: thread-local storage is unsupported for the current target
thread_local static TString stldir;
^
Full configuration and build logs attached.
The problem seems to be with the --enable-c++11 option, as removing this seems to work.
There were no such problems with the last release, 5.34.21.
cheers Chris
Fons Rademakers
2014-10-11 18:52:10 UTC
Permalink
Sorry, spoke before seeing your fix ;-)

Cheers, Fons.
Post by Fons Rademakers
Hi Philippe,
I see the same problem with the head of the patches branch. Both with c++11 and libcxx.
Cheers, Fons.
Post by Philippe Canal
Hi Chris,
This has been fixed in the v5.34 patch branch.
Cheers,
Philippe.
Post by Christopher Jones
Hi,
I am trying to build the new ROOT 5.34.22 release, on OSX 10.9. I am using the configuration
./configure macosx64 --enable-c++11
make -j 8
and this leads to a compilation failure.
/Users/chris/Projects/root/core/meta/src/TCint.cxx:2430:4: error: thread-local storage is unsupported for the current target
thread_local static TString stldir;
^
Full configuration and build logs attached.
The problem seems to be with the --enable-c++11 option, as removing this seems to work.
There were no such problems with the last release, 5.34.21.
cheers Chris
Manuel Tobias Schiller
2014-10-13 10:49:19 UTC
Permalink
Hi Philippe, all,

your fix is not quite enough - it fails to build on my system (Clang 3.5
with a gcc 4.7 runtime):

clang++ -shared -Wl,-soname,libCore.so.5.34 -m64 -O2 -Wl,--no-undefined
-Wl,--as-needed -o lib/libCore.so.5.34 core/base/src/InitGui.o
core/base/src/ManualBase4.o core/base/src/Match.o core/base/src/String.o
core/base/src/Stringio.o core/base/src/TApplication.o
core/base/src/TApplicationImp.o core/base/src/TAtt3D.o
core/base/src/TAttAxis.o core/base/src/TAttBBox2D.o
core/base/src/TAttBBox.o core/base/src/TAttFill.o
core/base/src/TAttLine.o core/base/src/TAttMarker.o
core/base/src/TAttPad.o core/base/src/TAttText.o core/base/src/TBase64.o
core/base/src/TBenchmark.o core/base/src/TBrowser.o
core/base/src/TBrowserImp.o core/base/src/TBuffer3D.o
core/base/src/TBuffer.o core/base/src/TCanvasImp.o core/base/src/TColor.o
core/base/src/TColorGradient.o core/base/src/TContextMenu.o
core/base/src/TContextMenuImp.o core/base/src/TControlBarImp.o
core/base/src/TDatime.o core/base/src/TDirectory.o core/base/src/TEnv.o
core/base/src/TError.o core/base/src/TException.o core/base/src/TExec.o
core/base/src/TFileCollection.o core/base/src/TFileInfo.o
core/base/src/TFolder.o core/base/src/TGuiFactory.o
core/base/src/TInetAddress.o core/base/src/TInspectorImp.o
core/base/src/TMacro.o core/base/src/TMathBase.o core/base/src/TMD5.o
core/base/src/TMemberInspector.o core/base/src/TMessageHandler.o
core/base/src/TNamed.o core/base/src/TObject.o core/base/src/TObjectSpy.o
core/base/src/TObjString.o core/base/src/TParameter.o
core/base/src/TPluginManager.o core/base/src/TPRegexp.o
core/base/src/TProcessID.o core/base/src/TProcessUUID.o
core/base/src/TQCommand.o core/base/src/TQConnection.o
core/base/src/TQObject.o core/base/src/TRefCnt.o core/base/src/TRef.o
core/base/src/TRegexp.o core/base/src/TRemoteObject.o
core/base/src/TROOT.o core/base/src/TStopwatch.o core/base/src/TStorage.o
core/base/src/TString.o core/base/src/TStringLong.o
core/base/src/TStyle.o core/base/src/TSysEvtHandler.o
core/base/src/TSystem.o core/base/src/TSystemDirectory.o
core/base/src/TSystemFile.o core/base/src/TTask.o core/base/src/TTime.o
core/base/src/TTimer.o core/base/src/TTimeStamp.o core/base/src/TUri.o
core/base/src/TUrl.o core/base/src/TUUID.o core/base/src/TVirtualFFT.o
core/base/src/TVirtualGL.o core/base/src/TVirtualMonitoring.o
core/base/src/TVirtualMutex.o core/base/src/TVirtualPad.o
core/base/src/TVirtualPadEditor.o core/base/src/TVirtualPadPainter.o
core/base/src/TVirtualPerfStats.o core/base/src/TVirtualPS.o
core/base/src/TVirtualViewer3D.o core/base/src/TVirtualX.o
core/cont/src/TArrayC.o core/cont/src/TArray.o core/cont/src/TArrayD.o
core/cont/src/TArrayF.o core/cont/src/TArrayI.o core/cont/src/TArrayL64.o
core/cont/src/TArrayL.o core/cont/src/TArrayS.o core/cont/src/TBits.o
core/cont/src/TBtree.o core/cont/src/TClassTable.o
core/cont/src/TClonesArray.o core/cont/src/TCollection.o
core/cont/src/TExMap.o core/cont/src/THashList.o
core/cont/src/THashTable.o core/cont/src/TIterator.o
core/cont/src/TList.o core/cont/src/TMap.o core/cont/src/TObjArray.o
core/cont/src/TObjectTable.o core/cont/src/TOrdCollection.o
core/cont/src/TRefArray.o core/cont/src/TRefTable.o
core/cont/src/TSeqCollection.o core/cont/src/TSortedList.o
core/meta/src/TBaseClass.o core/meta/src/TCint.o core/meta/src/TClass.o
core/meta/src/TClassGenerator.o core/meta/src/TClassMenuItem.o
core/meta/src/TClassRef.o core/meta/src/TDataMember.o
core/meta/src/TDataType.o core/meta/src/TDictAttributeMap.o
core/meta/src/TDictionary.o core/meta/src/TFunction.o
core/meta/src/TGenericClassInfo.o core/meta/src/TGlobal.o
core/meta/src/TInterpreter.o core/meta/src/TIsAProxy.o
core/meta/src/TMethodArg.o core/meta/src/TMethodCall.o
core/meta/src/TMethod.o core/meta/src/TRealData.o
core/meta/src/TSchemaRule.o core/meta/src/TSchemaRuleSet.o
core/meta/src/TStreamerElement.o core/meta/src/TToggle.o
core/meta/src/TToggleGroup.o core/meta/src/TVirtualStreamerInfo.o
core/unix/src/TUnixSystem.o core/zip/src/ZDeflate.o
core/zip/src/ZInflate.o core/zip/src/RZip.o core/zip/src/Compression.o
core/lzma/src/ZipLZMA.o core/clib/src/attach.o core/clib/src/Demangle.o
core/clib/src/detach.o core/clib/src/getpagesize.o core/clib/src/keys.o
core/clib/src/mcalloc.o core/clib/src/mfree.o core/clib/src/mmalloc.o
core/clib/src/mmapsup.o core/clib/src/mmcheck.o core/clib/src/mmemalign.o
core/clib/src/mmstats.o core/clib/src/mmtrace.o core/clib/src/mrealloc.o
core/clib/src/mvalloc.o core/clib/src/sbrksup.o core/clib/src/snprintf.o
core/clib/src/strlcat.o core/clib/src/strlcpy.o
core/metautils/src/RConversionRuleParser.o
core/metautils/src/TClassEdit.o core/textinput/src/Getline_color.o
core/textinput/src/Getline.o core/textinput/src/textinput/Editor.o
core/textinput/src/textinput/History.o
core/textinput/src/textinput/KeyBinding.o
core/textinput/src/textinput/Range.o
core/textinput/src/textinput/SignalHandler.o
core/textinput/src/textinput/StreamReader.o
core/textinput/src/textinput/StreamReaderUnix.o
core/textinput/src/textinput/StreamReaderWin.o
core/textinput/src/textinput/TerminalConfigUnix.o
core/textinput/src/textinput/TerminalDisplay.o
core/textinput/src/textinput/TerminalDisplayUnix.o
core/textinput/src/textinput/TerminalDisplayWin.o
core/textinput/src/textinput/TextInputContext.o
core/textinput/src/textinput/TextInput.o core/base/src/G__Base1.o
core/base/src/G__Base2.o core/base/src/G__Base3.o core/cont/src/G__Cont.o
core/meta/src/G__Meta.o core/unix/src/G__Unix.o core/zip/src/G__Zip.o
core/clib/src/G__Clib.o core/metautils/src/G__MetaUtils.o
core/textinput/src/G__TextInput.o -lz -llzma -pthread
-L/usr/lib/x86_64-linux-gnu -lpcre -lcrypt -Llib -lCint -ldl
core/meta/src/TCint.o: In function `TCint::GetSTLIncludePath()
const': /home/root.usr.local/src/science/root534/core/meta/src/TCint.cxx:2430:
undefined reference to `__cxa_thread_atexit' clang-3.5: error: linker
command failed with exit code 1 (use -v to see invocation)

Basically, it boils down to the discussion we had off-list last month
(__cplusplus > 201103L just tells you if the compiler supports C++, the
runtime used with it is a separate issue, and should be checked for) - if
you agree (and are okay with the patches I sent you for review), I'd be
more than happy to commit a fix.

Cheers,

Manuel


On Sat, 11 Oct 2014 20:52:10 +0200
Post by Fons Rademakers
Sorry, spoke before seeing your fix ;-)
Cheers, Fons.
Post by Fons Rademakers
Hi Philippe,
I see the same problem with the head of the patches branch. Both
with c++11 and libcxx.
Cheers, Fons.
Post by Philippe Canal
Hi Chris,
This has been fixed in the v5.34 patch branch.
Cheers,
Philippe.
Post by Christopher Jones
Hi,
I am trying to build the new ROOT 5.34.22 release, on OSX 10.9. I
am using the configuration
./configure macosx64 --enable-c++11
make -j 8
and this leads to a compilation failure.
thread-local storage is unsupported for the current target
thread_local static TString stldir; ^
Full configuration and build logs attached.
The problem seems to be with the --enable-c++11 option, as removing
this seems to work.
There were no such problems with the last release, 5.34.21.
cheers Chris
--
Manuel Schiller e-mail: ***@cern.ch

CERN
building 1/R-004
CH-1211 Genève 23
Switzerland
phone: +41 (0)22 76 71803
Christopher Jones
2014-10-11 20:02:13 UTC
Permalink
Hi,

Thanks, that has worked fine.

Chris
Post by Philippe Canal
Hi Chris,
This has been fixed in the v5.34 patch branch.
Cheers,
Philippe.
Post by Christopher Jones
Hi,
I am trying to build the new ROOT 5.34.22 release, on OSX 10.9. I am using the configuration
./configure macosx64 --enable-c++11
make -j 8
and this leads to a compilation failure.
/Users/chris/Projects/root/core/meta/src/TCint.cxx:2430:4: error: thread-local storage is unsupported for the current target
thread_local static TString stldir;
^
Full configuration and build logs attached.
The problem seems to be with the --enable-c++11 option, as removing this seems to work.
There were no such problems with the last release, 5.34.21.
cheers Chris
Loading...