G__std_list.cxx used to build on Ubuntu 17.10, now doesn't

I got an update to Ubuntu, now root won’t build.
How can I find out where the error exists so I can track the change error?
Thanks very much for your help…

[ 71%] Generating G__Core.cxx, …/…/lib/libCore.rootmap
[ 71%] Built target Cling
Scanning dependencies of target G__IO
[ 71%] Generating G__IO.cxx, …/…/lib/libRIO.rootmap
[ 71%] Built target G__Rint
Scanning dependencies of target G__std_list
[ 71%] Generating G__std_list.cxx, …/…/lib/liblistDict.rootmap
[ 71%] Built target G__Thread
Scanning dependencies of target G__std_map2
[ 71%] Generating G__std_map2.cxx, …/…/lib/libmap2Dict.rootmap
In file included from input_line_8:6:
/usr/local/list:1:1: error: cannot use dot operator on a type
./etc
^
Error: …/rootcling_stage1/src/rootcling_stage1: compilation failure (/usr/local/src/root-6.10.08_build/lib/liblistDict2b200662ba_dictUmbrella.h)
core/clingutils/CMakeFiles/G__std_list.dir/build.make:63: recipe for target ‘core/clingutils/G__std_list.cxx’ failed
make[2]: *** [core/clingutils/G__std_list.cxx] Error 1
CMakeFiles/Makefile2:11787: recipe for target ‘core/clingutils/CMakeFiles/G__std_list.dir/all’ failed
make[1]: *** [core/clingutils/CMakeFiles/G__std_list.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[ 71%] Built target G__std_map2
[ 71%] Built target G__IO
[ 71%] Built target G__Core
Makefile:151: recipe for target ‘all’ failed
make: *** [all] Error 2

Maybe @Axel has an idea…

This should be fixed in the master. Which ROOT version are you trying to build?

This was root 6.10.08. The last time it compiled correctly on Ubuntu 17.10 was 25 November.
I was using gcc, g++ 7.2

Yeah well that’s because you hadn’t installed list back then :slight_smile: I don’t know which package brings list. It seems to be a script, so

cat `which list`

might tell!

You’re right. I have no ‘list’.
I don’t recall ever installing it…
Do you happen to know if it was in an existing package?

I fixed problem I apparently caused… I had done “find . -mtime -xx -print” to make a list of files (yes, I called it list) to backup (tar -T list …) current build of root before messing with it. For some reason, root build found it and tried to do something with it. First line in file happened to be “./etc” (see previous error listing). I renamed file to list.txt and error went away. I also noted the the build process writes something to /usr/local directory that it deletes; it probably shouldn’t touch that directory until --install is explicitly used. Note date on “.” below. Sorry to bother you over this, but you have to admit it is at least a bit funny…8^).

root@pc:/usr/local# ls -latr
total 700356
drwxr-xr-x 2 root root 4096 Apr 22 2015 sbin
drwxr-xr-x 2 root root 4096 Apr 22 2015 games
lrwxrwxrwx 1 root root 9 Sep 12 2015 man -> share/man
drwxr-xr-x 11 root root 4096 Oct 11 2016 …
drwxr-xr-x 3 root root 4096 Nov 11 09:18 etc
drwxr-xr-x 3 root root 4096 Nov 11 09:18 include
drwxr-xr-x 12 root root 4096 Nov 11 09:18 share
-rw-r–r-- 1 root root 43342 Nov 25 15:42 list.txt
-rw-r–r-- 1 root root 717070576 Nov 25 15:45 root-6.10.08_bin.tar.gz
drwxr-xr-x 2 root root 4096 Nov 25 22:08 bin
drwxr-xr-x 5 root root 4096 Nov 26 11:34 src
drwxr-xr-x 7 root root 4096 Nov 28 15:29 lib
drwxr-xr-x 10 root root 4096 Nov 29 20:02 .
root@7of9:/usr/local#

Absolutely: the error caused by “let’s include a file that’s in ./usr/bin” is fixed.

I agree building ROOT should not touch anything in /usr/local/bin. I doubt it does for me - I build ROOT as a regular user and see no complaints. @amadio - can you add this to your list of “things to investigate when touching the build system”?

Sure, @Axel, I will. But the error may not actually be fixed. It was reverted as far as I remember, due to a breakage in CMS. Here is the JIRA for it: https://sft.its.cern.ch/jira/browse/ROOT-9055.

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