Link problem with Xcode 8 under Mac OS

Hi, after updating to Xcode 8 under Mac OS 10.11.6, I had problem compiling root 6.06.08:

make
clang++ -dynamiclib -single_module -Wl,-dead_strip_dylibs -install_name /usr/local/root/lib/root/libXMLParser.so -O2 -DNDEBUG -m64 -mmacosx-version-min=10.11 -stdlib=libc++ -o lib/libXMLParser.so io/xmlparser/src/TDOMParser.o io/xmlparser/src/TSAXParser.o io/xmlparser/src/TXMLAttr.o io/xmlparser/src/TXMLDocument.o io/xmlparser/src/TXMLNode.o io/xmlparser/src/TXMLParser.o io/xmlparser/src/G__XMLParser.o -ldl -Llib -lCore -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib -lxml2 -lz -lpthread -licucore -lm
ld: file not found: /usr/lib/system/libsystem_symptoms.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [lib/libXMLParser.so] Error 1

I found a similar problem in a forum:

stackoverflow.com/questions/3953 … in-xcode-8

I don’t know if there are way to overcome this.

Cheers,

 Luca

Hi Luca. I have not upgraded Xcode myself, but you have a problem building with CMake?
Pere

Hi Luca,

this is a known problem, Apple did not ship yet the CL tools for 10.11 for Xcode 8, hence the problem. See also:

forums.developer.apple.com/thread/63250

So stay away from Xcode 8 until the correct CL tools are released or upgrade to Sierra next week and install Xcode 8.

Cheers, Fons.

I’m on macOS Sierra and would like to use ROOT 5.
(Our large internal legacy analysis package doesn’t support ROOT 6.)

If it helps, I usually try to build ROOT via Macports and here’s the issue in the Macports tracker
trac.macports.org/ticket/52361
and full build log:
gist.github.com/cdeil/a94001c1b … 3accde17a5

Hi,

the head of the v5-34-00-patches is now supported on macOS 10.12 Sierra.

Cheers, Fons.

Thank you for still patching ROOT 5 to work on macOS sierra!

If you have the time to make a patch release in the near future, that would be great.

Could you please let me know if there is a patch for root 6 on Sierra?
I get the following error with 6-06-08:

ld: library not found for -lCore
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Thanks,

Luca

Hi Luca,

you may have a look here: Compilation problem with: OS Sierra, Xcode 8, ROOT 6.06.08

Benedikt

Hello Fons,

I have the same issue with ROOT 6.08.06 on 10.11.6 (El Capitan) only when configure and make are used. CMake works fine.

$ ./configure
$ make
(snip)
clang++ -dynamiclib -single_module -Wl,-dead_strip_dylibs -install_name @rpath/libXMLParser.so -O2 -DNDEBUG -m64 -mmacosx-version-min=10.11 -stdlib=libc++ -Wl,-rpath,@loader_path/../lib -o lib/libXMLParser.so io/xmlparser/src/TDOMParser.o io/xmlparser/src/TSAXParser.o io/xmlparser/src/TXMLAttr.o io/xmlparser/src/TXMLDocument.o io/xmlparser/src/TXMLNode.o io/xmlparser/src/TXMLParser.o io/xmlparser/src/G__XMLParser.o -ldl -Llib -lCore -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib -lxml2 -lz -lpthread -licucore -lm
ld: file not found: /usr/lib/system/libsystem_symptoms.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [lib/libXMLParser.so] Error 1

I do not understand why the command line tools is the reason of this compile error. This is a linker problem, and this error does not appear when CMake is used.

I know that configure is deprecated now, but when I teach students how to start using ROOT, I often tell them two different ways: configure and CMake for an educational purpose.

Would you please tell me if 6.08.06 + configure is supported on 10.11.6? Do you know how to build it without the linker error above?