ROOT build suddenly failing (Ubuntu 16.04 LTS)

Hello,

until recently, I had no problems building the most current ROOT commits from the official git repository using CMake. However, builds are now failing, with the following error appearing first:

[ 50%] Generating G__Rint.cxx, ../../lib/libRint.rootmap ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths! CLING_CXX_INCL, CLING_CXX_PATH, and CLING_CXX_RLTV are undefined, there was probably an error during configuration.
Log files containing the entire console output of the configuration as well as the actual building process should be in the attachment.
Switching to older commits which have been successfully built in the past does not resolve the issue.

No options/variable changes etc. are passed when invoking CMake to prepare the build files. The build process itself is initiated via:

make -j 5

Using multiple cores for building did not cause this issue in the past. Also, using less cores does not seem to have any impact.

All build prerequisites have been installed. PATH, LD_LIBRARY_PATH etc. are not modified compared to default system settings. Also, no other ROOT installations are currently present.

As everything was fine in the past, I suspect a recent package update to be the cause of the issue, but I have no idea where to start looking for. A log file containing all package manager operations within the suspicious time period is attached to this post.

Specifications:
OS: Ubuntu 16.04.1 LTS
Kernel: 4.4.0-34
g++ version: 5.4.0-6
ROOT commit: 6616b6912ea0ea7ea147a35a6b615942996fde00

Best,

Dom
apt_history.txt (3.73 KB)
build.txt (204 KB)
cmake_config.txt (11.3 KB)

Could you remove your build folder, reconfigure and rebuild again. The recent changes in cling could have broken your cling-compiledata.h.

Dear Dom,

I am not able to reproduce the problem on my Ubuntu 16.04 .
Is this an incremental build over an existing one or a fresh one?

G Ganis

The problem persists when using an entirely new build folder.

[quote=“ganis”]Dear Dom,

I am not able to reproduce the problem on my Ubuntu 16.04 .
Is this an incremental build over an existing one or a fresh one?

G Ganis[/quote]
It is a fresh one.

There is a similar mysterious problem reported here: Compiling Root 6 on Ubuntu 16.04

Maybe you could try to run (report here what is found):
sudo dpkg --list “*”|grep -i "cl[ai]ng"
and if you have any such package installed, try to “sudo apt-get purge …” all of them.

[quote=“Pepe Le Pew”]There is a similar mysterious problem reported here: Compiling Root 6 on Ubuntu 16.04

Maybe you could try to run (report here what is found):
sudo dpkg --list “*”|grep -i “cl[ai]ng”
and if you have any such package installed, try to “sudo apt-get purge …” all of them.[/quote]
The following packages related to Clang/Cling were found and have been purged:
[ul][li]clang:amd64 (1:3.8-33ubuntu3.1)[/li]
[li]clang-3.8:amd64 (1:3.8-2ubuntu4)[/li]
[li]libclang1-3.4:amd64 ()[/li]
[li]libclang1-3.6:amd64 (1:3.6.2-3ubuntu2)[/li]
[li]libclang1-3.8:amd64 (1:3.8-2ubuntu4)[/li]
[li]libclang-common-3.8-dev:amd64 (1:3.8-2ubuntu4)[/li][/ul]
Unfortunately, I still get the same error as before when building.

Interestingly, trying to build a newer commit (baf4ba4d9028d76db906a495132aa486500aab7d) using only a single core (i.e. running “make” instead of “make -j 5” to exclude possible, if unlikely, race conditions) results in a new error message:

[ 14%] Building CXX object interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/InvocationOptions.cpp.o In file included from /home/xxxxxx/.local/opt/root_source/interpreter/cling/lib/Interpreter/InvocationOptions.cpp:13:0: /home/xxxxxx/.local/opt/root_source/interpreter/cling/../llvm/src/tools/clang/include/clang/Driver/Options.h:41:36: fatal error: clang/Driver/Options.inc: No such file or directory compilation terminated. interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/build.make:643: recipe for target 'interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/InvocationOptions.cpp.o' failed make[2]: *** [interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/InvocationOptions.cpp.o] Error 1 CMakeFiles/Makefile2:8444: recipe for target 'interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/all' failed make[1]: *** [interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2
There are “Options.inc” files in the following locations (relative to the repository root directory):

./interpreter/llvm/inst/include/clang/Driver/Options.inc ./interpreter/llvm/obj/tools/clang/include/clang/Driver/Options.inc
The corresponding CMake and build outputs should be attached to this post.
buildlog.txt (45.6 KB)
configure.txt (11.3 KB)

For some reason, after deleting the repository folder and re-cloning it, everything seems to work fine now. Before deletion, “git status” did not report any differences compared to the currently checked-out commit, so I have absolutely no idea why it did not work…

Are you keeping your “build tree” separate from your “source code tree”?
If yes, then there is possibly again some problem in the building procedure (i.e. building pollutes source code, which [url=https://root-forum.cern.ch/t/root-v6-06-00-on-ubuntu-14-04/20334/4 the case some time ago[/url] but it was cleaned in 6.06/0[46]).

[quote=“Pepe Le Pew”]Are you keeping your “build tree” separate from your “source code tree”?
If yes, then there is possibly again some problem in the building procedure (i.e. building pollutes source code, which [url=https://root-forum.cern.ch/t/root-v6-06-00-on-ubuntu-14-04/20334/4 the case some time ago[/url] but it was cleaned in 6.06/0[46]).[/quote]
If you mean keeping separate directories for the source code and the building process: Yes.

See the final explanation for the mysterious Options.inc problem here:

The migration engine of the old forum change my last link incorrectly. I was referring to:

See also:

The JIRA ticket is:
https://sft.its.cern.ch/jira/browse/ROOT-8392