I am upgrading our experiment’s software from ROOT 5 to ROOT 6. This has been fairly painless so far, but I’ve come across across a sticking issue I cannot seem to get around. TBB won’t compile correctly. Since multi-threading is one of the main objectives of the update, its important for us to use and install ROOT 6 with TBB. To achieve this, I use the builtin_tbb=ON flag.
build/common.inc:93: *** "first config all" is not supported. Add build/first config all.inc or build/first config all.linux.inc file. Stop.
The stdout file, $INSTALL_LOCATION/ROOT/Linux-x86_64/root-build/TBB-prefix/src/TBB-stamp/TBB-build-out.log, is empty.
I first saw this error on my local machine:
The work around was to install the TBB libs from a package manager using sudo apt install tbb, and set builtin_tbb=OFF. This worked fine.
I then saw this error again on my institutions remote machines:
I cannot use the same workaround, since I cannot use the package manager on these machines. Since I will be installing this software on more than five different sites, it would be great to utilize the portability of builtin_tbb=ON.
Has anyone else come across this error message? What does it mean? Thank you!!
I can also confirm that typing make under $INSTALL_LOCATION/ROOT/Linux-x86_64/root-build/TBB-prefix/src/TBB successfully builds TBB, albeit under the default build location (presumably): $INSTALL_LOCATION/ROOT/Linux-x86_64/root-build/TBB-prefix/src/TBB/build/linux_intel64_gcc_cc4.8.5_libc2.17_kernel3.10.0_release.
You’re welcome. In the mean time, would you mind trying ROOT-6.11/02? If the problem is already fixed there, you could just wait for the upcoming 6.12 release or use 6.11, as it is quite stable already.
I’ve tried 6.11/02 and the problem persists. Is there anything else I can try? Perhaps a previous version of ROOT 6 you can recommend for now? The main effort here is switching from ROOT 5 to ROOT 6, so as long as I can build with TBB? Alternatively, I can also disable TBB for now. Would this severely impact multi-thread performance? Which areas would it impact?
Okay, this worked, thanks. It must be something in my setup / build environment then. I am trying similar things in my own ROOT build, i.e. cmake --build . --target TBB. I will update if I find the culprit.
Okay, I think I have a better idea now. We are (still) compiling our experiment’s software with CMT, although this will change in a month or so. When I issue the build command make in the cmt directory, it does a few things, then calls a bash script, which then calls cmake to configure ROOT, then make to build ROOT. In this context, cmake --build . --target TBB breaks.
If I then cd into the build directory and run this command, it works.
All this is to say that my bug seems to be outside the scope of ROOT support, and should vanish once we switch the entire project to build using cmake. Unless you think its worth investigating further, I think we can close this now. Thanks again for all the help.
Hi thank you for your testing. If you are satisfied with the answer, just please mark the post above as solution and we can close this. Don’t hesitate to start a new post if you get stuck again. Cheers,