ROOT 6.10.06 build failure on macOS 10.13 Xcode 9

To complete a bit. I think my yesterday experience might be useful. When moving to XCode 9 I had this problem with TString which is now solved. Yesterday I installed MacOS 10.13 (Xcode 9 was installed before). After having installed MacOS 10.13 ROOT did not compile anymore. I had to do xcode-select --install to make it work again.

1 Like

Dear Experts,
I’ve a Mac with OS 10.12.6 and Xcode 9.0
I’ve tried to compile root_v6.11.02 and I got the following error message:

[ 71%] Built target rootcling
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/TBB.dir/build.make CMakeFiles/TBB.dir/depend
cd /Users/dinardo/root/myBuild && /Applications/CMake.app/Contents/bin/cmake -E cmake_depends "Unix Makefiles" /Users/dinardo/root /Users/dinardo/root /Users/dinardo/root/myBuild /Users/dinardo/root/myBuild /Users/dinardo/root/myBuild/CMakeFiles/TBB.dir/DependInfo.cmake --color=
Dependee "/Users/dinardo/root/myBuild/CMakeFiles/TBB.dir/DependInfo.cmake" is newer than depender "/Users/dinardo/root/myBuild/CMakeFiles/TBB.dir/depend.internal".
Dependee "/Users/dinardo/root/myBuild/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/Users/dinardo/root/myBuild/CMakeFiles/TBB.dir/depend.internal".
Scanning dependencies of target TBB
    /Users/dinardo/root/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-*.log
make[2]: *** [TBB-prefix/src/TBB-stamp/TBB-build] Error 1
make[1]: *** [CMakeFiles/TBB.dir/all] Error 2
make: *** [all] Error 2

Can you please help me to solve this ?
I’m close to a conference and I need my laptop to make the plots !!!
Many thanks for your help.
Kind regards,

  • Mauro.

The development release tag is unfortunately (currently) broken for XCode9.
Easiest fix: download a pre-compiled binary from here, they should work.

Otherwise, instead of checking out tag v6.11 in git, you can checkout master which is currently just a few commits ahead and also contains a fix for XCode9.

Hope this helps,
Enrico

Hi Enrico,
many thanks for your suggestion.
Unfortunately I still have the problem:

[ 71%] Performing build step for 'TBB'
cd /Users/dinardo/root/myBuild/TBB-prefix/src/TBB && /Applications/CMake.app/Contents/bin/cmake -P /Users/dinardo/root/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-RelWithDebInfo.cmake
CMake Error at /Users/dinardo/root/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-RelWithDebInfo.cmake:16 (message):
  Command failed: 2

   'make' 'compiler=clang' 'CXXFLAGS= -mno-rtm' 'CPLUS=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++' 'CONLY=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc'

  See also

    /Users/dinardo/root/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-*.log

Do you know what TBB is ?
Is it something needed ?
Can I avoid to build it ?
Many thanks for your support.

  • Mauro.

Hi Mauro,
TBB is Intel’s “Threading Building Blocks” library, it’s used internally by ROOT in its multi-threading features.

I think you can turn off its compilation by setting -Dimt=OFF (therefore deactivating Implicit Multi-Threading). @amadio or @Danilo know more than me on the topic, let’s ping them :slight_smile:

It would be interesting to know why it failed in the first place though – if you have a second please take a look at /Users/dinardo/root/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-*.log and post the content here.

Cheers,
Enrico

Hi Mauro,

you can de-activate the build of TBB at the price of getting a fully sequential ROOT. I support @eguiraud observation and would like to see the logs so to be able to solve your problem rather than working it around.

Cheers,
D

Dear @Danilo and @eguiraud many thanks for your reply.
Here are some more observations.

The error message is the following:

[ 71%] Performing build step for 'TBB'
cd /Users/dinardo/root_v6.11.02_master/myBuild/TBB-prefix/src/TBB && /Applications/CMake.app/Contents/bin/cmake -P /Users/dinardo/root_v6.11.02_master/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-RelWithDebInfo.cmake
CMake Error at /Users/dinardo/root_v6.11.02_master/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-RelWithDebInfo.cmake:16 (message):
  Command failed: 2

   'make' 'compiler=clang' 'CXXFLAGS= -mno-rtm' 'CPLUS=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++' 'CONLY=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc'
  See also
    /Users/dinardo/root_v6.11.02_master/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-*.log
make[2]: *** [TBB-prefix/src/TBB-stamp/TBB-build] Error 1
make[1]: *** [CMakeFiles/TBB.dir/all] Error 2
make: *** [all] Error 2

Here is the content of

more /Users/dinardo/root_v6.11.02_master/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-err.log 
make[4]: ../../build/Makefile.tbb: No such file or directory
make[4]: *** No rule to make target `../../build/Makefile.tbb'.  Stop.
make[3]: *** [tbb] Error 2

And here is the content of

 more /Users/dinardo/root_v6.11.02_master/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-out.log 
Created ./build/macos_intel64_clang_cc9.0.0 Found CUDA installation: /usr/local/cuda, version unknown_os10.12.6_release and ..._debug directories
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C "./build/macos_intel64_clang_cc9.0.0 Found CUDA installation: /usr/local/cuda, version unknown_os10.12.6_debug"  -r -f ../../build/Makefile.tbb cfg=debug

Indeed I do have CUDA installed, but as you might know better than me, CUDA is always behind with respect to Xcode updates, therefore my CUDA compiler is not compatible with Xcode 9.0 right now.
The point is that I don’t understand why this has anything to do with ROOT.

Can you please help me out ?
Yes, I could disable IMT with -Dimt=OFF but I rather not to do that if possible.
Many thanks,

  • Mauro.

Ah, no CUDA does not have anything to do with your problem.
You are installing ROOT without an active internet connection and ROOT fails to download TBB. This is bad behavior on the part of the build system, I will report it.

For now, either install ROOT with -Dimt=OFF so that it does not try to download and install TBB, or fire up your WiFi when installing ROOT.

Sorry for the trouble!
Enrico

Hi Enrico,
many thanks for your prompt reply.
Actually I do have WiFi on.
I’m constantly working connected to internet.
So, I’m not sure what should I do more than this.
Are there other flags that I need to turn on ?
For instance there might be some protections under
my “Security&Privacy” of my MAC that I need to disable ?

By the way, what is TBB ?
Can I install it manually ?

Many thanks,

  • Mauro.

Hi,
as I mentioned above Intel’s Threading Building Blocks is the library that powers ROOT’s internal parallelization technology.

I am not sure why you should not be able to download it if you have an active internet connection (maybe you are behind a very restrictive firewall?).

You can certainly try to install it manually, and ROOT should pick it up automatically if it finds it in your system. You can download it from here, compile it and the follow the instructions here to set the environment variables correctly.

I don’t know which utility actually downloads the TBB source code in ROOT 6 but, in another, completely unrelated thread, a user was missing “curl” (which was needed for downloading the “lz4” source code).

@Wile_E_Coyote CMake uses curl for the download step of ExternalProject_Add(), which is used by ROOT for most external packages.

The unhelpful message during offline builds is now a bug report.

Many thanks guys for your support.
Actually I do have curl:

ihulk:~ dinardo$ curl --version
curl 7.54.0 (x86_64-apple-darwin16.0) libcurl/7.54.0 SecureTransport zlib/1.2.8
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz UnixSockets 

So, are you sure it’s a problem with the download process ?
Is there anything I can do to help you to debug it more thoroughly ?

Many thanks,

  • Mauro.

I’m certain there is a problem with offline builds, it’s easy to reproduce it.
And the error message from cmake in that case is exactly the same as yours.

With that said I don’t know what your exact issue is. Does everything work fine if you build with -Dimt=OFF?

Hi,
yes with -Dimt=OFF it compiles and works nicely.

  • Mauro.

Dear All,
I was wondering whether you have any suggestion to fix the problem.
It’s true that the root compilation with -Dimt=off works, but I still would like very much to use multithreading.
Do you have any suggestion?
Did you get the same comments from other Mac users?

Many thanks and kind regards.

  • Mauro

That I know of, you are the only user that reported this problem with TBB with an online build – over all platforms.

If you haven’t tried it already, I would suggest a simple solution that often helps with weird build problems: removing the build directory, every other mention of a ROOT installation from your environment variables, and re-build from source.

Another option is installing TBB yourself and ROOT should detect and use your system installation.

The root cause for the failure is indicated by the error log you posted earlier:

more /Users/dinardo/root_v6.11.02_master/myBuild/TBB-prefix/src/TBB-stamp/TBB-build-err.log 
make[4]: ../../build/Makefile.tbb: No such file or directory
make[4]: *** No rule to make target `../../build/Makefile.tbb'.  Stop.
make[3]: *** [tbb] Error 2

It would be interesting to know why that file is not there: it should be created by the build system.

TBB is in many of the repos as well. This is what solved my issue when the TBB server was down:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.