5.34.28 abruptly stopped working with OSX 10.11

Hello

I have been using root v5.34.28 with OSX 10.11 for some time now. Then abruptly (this happened on 3 separate computers within a day or two of each other), I began getting errors that prevent me from compiling code that I have been using for quite some time. Apologies in advance for the long thread…

When trying to compile the code that I have been using for a long time, I got these errors:

root [0] .L dataMC.C+
Info in TMacOSXSystem::ACLiC: creating shared library /Users/benhoob/atlas-benhoob/Run2Analysis/trunk/DataMC/./dataMC_C.so
In file included from /Users/benhoob/atlas-benhoob/Run2Analysis/trunk/DataMC/dataMC_C_ACLiC_dict.cxx:17:
In file included from /Users/benhoob/atlas-benhoob/Run2Analysis/trunk/DataMC/dataMC_C_ACLiC_dict.h:34:
In file included from /Users/benhoob/atlas-benhoob/Run2Analysis/trunk/DataMC/./dataMC.C:12:
In file included from /Applications/root_v5.34.28/include/TCanvas.h:25:
In file included from /Applications/root_v5.34.28/include/TPad.h:26:
In file included from /Applications/root_v5.34.28/include/TVirtualPad.h:42:
In file included from /Applications/root_v5.34.28/include/TQObject.h:223:
In file included from /Applications/root_v5.34.28/include/TQClass.h:32:
In file included from /Applications/root_v5.34.28/include/TClass.h:42:
/Applications/root_v5.34.28/include/ThreadLocalStorage.h:228:4: error: thread-local storage is not supported for the current target
TTHREAD_TLS(T*) ptr = NULL;
^
/Applications/root_v5.34.28/include/ThreadLocalStorage.h:103:29: note: expanded from macro ‘TTHREAD_TLS’

define TTHREAD_TLS(type) thread_local type

                        ^

/Applications/root_v5.34.28/include/ThreadLocalStorage.h:229:4: error: thread-local storage is not supported for the current target
TTHREAD_TLS(Bool_t) isInit(kFALSE);
^
/Applications/root_v5.34.28/include/ThreadLocalStorage.h:103:29: note: expanded from macro ‘TTHREAD_TLS’

define TTHREAD_TLS(type) thread_local type

                        ^

/Applications/root_v5.34.28/include/ThreadLocalStorage.h:239:4: error: thread-local storage is not supported for the current target
TTHREAD_TLS(Array*) ptr = NULL;

So I then tried:

  • Updating OSX to the latest version
  • Uninstalling and reinstalling xcode
  • Uninstalling and reinstalling root 5.34.28

When I try to compile 5.34.28 from source I get many errors like:

./configure macosx
make

cint/cint/lib/gcc4strm/iostrm.h:85:17: error: no type named ‘__streambuf_type’ in 'std::__1::basic_ostream’
static ostream::__streambuf_type G__store_cout;
~~~~~~~~~^
cint/cint/lib/gcc4strm/iostrm.h:86:17: error: no type named ‘__streambuf_type’ in 'std::__1::basic_ostream’
static ostream::__streambuf_type G__store_cerr;
~~~~~~~~~^
cint/cint/lib/gcc4strm/iostrm.h:87:17: error: no type named ‘__streambuf_type’ in 'std::__1::basic_istream’
static istream::__streambuf_type G__store_cin;
~~~~~~~~~^
cint/cint/src/dict/gcc4strm.cxx:760:56: error: no type named ‘__istream_type’ in 'std::__1::basic_istream’
const basic_istream<char,char_traits >::__istream_type& obj = ((basic_istream<char,char_traits >
) G__getstructoffset())->get((basic_istream<char,char_traits >::char_type
) G__int(libp->para[0]), (streamsize) G__Longlong(libp->para[1])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
cint/cint/src/dict/gcc4strm.cxx:771:56: error: no type named ‘__istream_type’ in 'std::__1::basic_istream’
const basic_istream<char,char_traits >::__istream_type& obj = ((basic_istream<char,char_traits >
) G__getstructoffset())->get((basic_istream<char,char_traits >::char_type*) G__int(libp->para[0]), (streamsize) G__Longlong(libp->para[1]));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
cint/cint/src/dict/gcc4strm.cxx:781:56: error: no type named ‘__istream_type’ in 'std::__1::basic_istream’
const basic_istream<char,char_traits >::__istream_type& obj = ((basic_istream<char,char_traits >) G__getstructoffset())->get((basic_istream<char,char_traits >::char_type*) G__Charref(&libp->para[0]));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
cint/cint/src/dict/gcc4strm.cxx:791:56: error: no type named ‘__istream_type’ in 'std::__1::basic_istream’
const basic_istream<char,char_traits >::__istream_type& obj = ((basic_istream<char,char_traits >) G__getstructoffset())->get((basic_istream<char,char_traits >::__streambuf_type*) libp->para[0].ref, (basic_istream<cha

  • So then I try to install root 6.04.16 from source:

./configure macosx
make

I get numerous errors and finally:

/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/include/llvm/ADT/APFloat.h:352:12: warning: redundant move in return statement [-Wredundant-move]
return std::move(Value);
^
/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/include/llvm/ADT/APFloat.h:352:12: note: remove std::move call here
return std::move(Value);
^~~~~~~~~~ ~
1 warning generated.
llvm[5]: Compiling SemaExpr.cpp for Release build
if clang++ -I/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/include -I/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema -I/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/include -I/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema/…/…/include -I/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/…/…/include -O3 -stdlib=libc++ -std=c++11 -fno-exceptions -fno-rtti -fno-common -Wcast-qual -fno-strict-aliasing -m32 -Wno-unused-private-field -m64 -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcovered-switch-default -Wno-uninitialized -Wno-missing-field-initializers -Wno-comment -c -MMD -MP -MF “/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.d.tmp” -MT “/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.o” -MT “/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.d” /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema/SemaExpr.cpp -o /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.o ;
then /bin/mv -f “/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.d.tmp” “/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.d”; else /bin/rm “/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.d.tmp”; exit 1; fi
In file included from /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema/SemaExpr.cpp:14:
In file included from /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema/…/…/include/clang/Sema/SemaInternal.h:18:
In file included from /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema/…/…/include/clang/AST/ASTContext.h:18:
In file included from /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema/…/…/include/clang/AST/ASTTypeTraits.h:20:
In file included from /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema/…/…/include/clang/AST/Decl.h:17:
In file included from /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/tools/clang/lib/Sema/…/…/include/clang/AST/APValue.h:18:
/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/include/llvm/ADT/APFloat.h:352:12: warning: redundant move in return statement [-Wredundant-move]
return std::move(Value);
^
/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/src/include/llvm/ADT/APFloat.h:352:12: note: remove std::move call here
return std::move(Value);
^~~~~~~~~~ ~
error: error opening ‘/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.d.tmp’: No such file or directory
1 warning and 1 error generated.
rm: /Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.d.tmp: No such file or directory
make[5]: *** [/Users/benhoob/Downloads/root-6.04.16/interpreter/llvm/obj/tools/clang/lib/Sema/Release/SemaExpr.o] Error 1
make[4]: *** [Sema/.makeall] Error 2
make[3]: *** [all] Error 1
make[2]: *** [clang/.makeall] Error 2
make[1]: *** [all] Error 1
make: *** [interpreter/llvm/inst/lib/libclangSema.a] Error 2

Finally, then I try installing root 6.04.16 from the binary and when I try to compile the original code I get:

root [0] .L dataMC.C+
Info in TMacOSXSystem::ACLiC: creating shared library /Users/benhoob/atlas-benhoob/Run2Analysis/trunk/DataMC/./dataMC_C.so
Warning in cling::IncrementalParser::CheckABICompatibility():
C++ ABI mismatch, compiled with _LIBCPP_VERSION v1101 running with v3700
In file included from input_line_3:1:
In file included from /Applications/root_v6.04.16/include/RtypesCore.h:24:
/Applications/root_v6.04.16/include/RConfig.h:256:13: fatal error: ‘AvailabilityMacros.h’ file not found

include <AvailabilityMacros.h>

        ^

*** Break *** segmentation violation
Generating stack trace…
An admin user name and password is required to enter Developer Mode.
Admin user name (benhoob):

Any help would be sincerely appreciated.

Sincerely,
Ben

Hi Ben,

After re-installing Xcode you need to install the command line tools with xcode-select --install
Please use the CMake build to build new releases (the latest being 6.06.02). See root.cern.ch/building-root