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.
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:
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
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: *** [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: *** [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):
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).
[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).[/quote]
If you mean keeping separate directories for the source code and the building process: Yes.