All my ROOT builds stopped working on Ubuntu 20.04

Hi,

I’m running into something very disturbing this morning… :frowning: All of a sudden none of the ROOT versions that I compiled for my Ubuntu 20.04 box seem to be working. :confused: I get errors like the following when just trying to start the root executable:

[bash][Legolas]:~ > source software/root/6.24.00/x86_64-ubuntu2004-gcc9-opt/setup.sh 
Configured TBB from: /home/krasznaa/software/oneTBB/2021.2.0/x86_64-ubuntu2004-gcc9-opt
Configured XRootD from: /home/krasznaa/software/xrootd/4.12.6/x86_64-ubuntu2004-gcc9-opt
Configured ROOT from: /home/krasznaa/software/root/6.24.00/x86_64-ubuntu2004-gcc9-opt
[bash][Legolas]:~ > root
input_line_1:1:2: fatal error: module file '/home/krasznaa/development/root/build/lib/libc.pcm' not found: module file not found
#include <new>
 ^
input_line_1:1:2: note: imported by module 'std' in '/home/krasznaa/software/root/6.24.00/x86_64-ubuntu2004-gcc9-opt/lib/std.pcm'
Warning in cling::IncrementalParser::CheckABICompatibility():
  Failed to extract C++ standard library version.
Replaced symbol atexit cannot be found in JIT!
Replaced symbol at_quick_exit cannot be found in JIT!
Module libc not found.
Failed to load module std
<<< cling interactive line includer >>>: fatal error: module file '/home/krasznaa/development/root/build/lib/libc.pcm' not found: module file not found
...
[bash][Legolas]:~ > source ~/software/root/6.22.06/x86_64-ubuntu2004-gcc9-opt/setup.sh 
Configured TBB from: /home/krasznaa/software/oneTBB/2020.3/x86_64-ubuntu2004-gcc9-opt
Configured XRootD from: /home/krasznaa/software/xrootd/4.12.6/x86_64-ubuntu2004-gcc9-opt
Configured ROOT from: /home/krasznaa/software/root/6.22.06/x86_64-ubuntu2004-gcc9-opt
[bash][Legolas]:~ > root
input_line_1:1:2: fatal error: module file '/home/krasznaa/development/root/build/lib/libc.pcm' not found: module file not found
#include <new>
 ^
input_line_1:1:2: note: imported by module 'std' in '/home/krasznaa/software/root/6.22.06/x86_64-ubuntu2004-gcc9-opt/lib/std.pcm'
Warning in cling::IncrementalParser::CheckABICompatibility():
  Failed to extract C++ standard library version.
Module libc not found.
Failed to load module std
<<< cling interactive line includer >>>: fatal error: module file '/home/krasznaa/development/root/build/lib/libc.pcm' not found: module file not found
<<< cling interactive line includer >>>: note: imported by module '_Builtin_intrinsics' in
      '/home/krasznaa/software/root/6.22.06/x86_64-ubuntu2004-gcc9-opt/lib/_Builtin_intrinsics.pcm'
Failed to load module _Builtin_intrinsics
...

The exact outcome of the error is not the same in all cases. 6.22/06 for instance, after all of these errors, does land me at the command prompt.

...
input_line_21:3:7: error: expected ';' after top level declarator
#undef ClassDef
      ^
      ;
Warning in <TInterpreter::TCling::RegisterModule>: Problems declaring payload for module libMathCore.
input_line_22:1:2: error: unknown type name 'ifdef'
#ifdef __ROOTCLING__
 ^
<<< cling interactive line includer >>>:1:1: error: expected unqualified-id
Error in <TClass::LoadClassInfo>: no interpreter information for class TSignalHandler is available even though it has a TClass initialization routine.
Error in <TClass::LoadClassInfo>: no interpreter information for class TFileHandler is available even though it has a TClass initialization routine.
root [0]

While 6.24/00 just crashes.

Would some recent system library update (I’m thinking of libstdc++ of course…) have caused such an issue? :confused:

I’m building 6.24/00 fresh, to see if a new build would work correctly. But all in all, this is very worrisome. Am I the only one to have run into such an issue?

Cheers,
Attila


ROOT Version: 6.20/08, 6.22/06, 6.24/00
Platform: Ubuntu 20.04
Compiler: GCC 9


Try the ready-to-use binary distributions provided by the ROOT Team (for “Ubuntu 20 / gcc 9.3”).

Sure… For certain tasks those are great. But there’s a reason why I have my own builds. This is not a question of whether I should be building ROOT myself or not. The question here is whether a system update is capable of breaking an existing ROOT installation.

And apparently so… Since after the re-build of 6.24/00 I get:

[bash][Legolas]:~ > source ~/software/root/6.24.00/x86_64-ubuntu2004-gcc9-opt/setup.sh 
Configured TBB from: /home/krasznaa/software/oneTBB/2021.2.0/x86_64-ubuntu2004-gcc9-opt
Configured XRootD from: /home/krasznaa/software/xrootd/4.12.6/x86_64-ubuntu2004-gcc9-opt
Configured ROOT from: /home/krasznaa/software/root/6.24.00/x86_64-ubuntu2004-gcc9-opt
[bash][Legolas]:~ > root
Module libc not found.
   ------------------------------------------------------------------
  | Welcome to ROOT 6.24/00                        https://root.cern |
  | (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Apr 14 2021, 14:33:50                 |
  | From tags/v6-24-00@v6-24-00                                      |
  | With                                                             |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'       |
   ------------------------------------------------------------------

root [0]

Note that I was getting a lot of these “Module libc not found.” messages during the build as well. This would seem like the source of my problems. But what the heck is that about? :confused:

Attila

Interestingly enough 6.20/08 doesn’t even manage to build on my system anymore. It stops with the following very confusing messages:

...
[ 73%] Generating G__MathCore.cxx, ../../lib/MathCore.pcm
Module libc not found.
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:176:
In file included from /usr/include/endian.h:35:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:34:1: error: redefinition of '__bswap_16'
__bswap_16 (__uint16_t __bsx)
^
/usr/include/x86_64-linux-gnu/bits/byteswap.h:34:1: note: previous definition is here
__bswap_16 (__uint16_t __bsx)
^
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:176:
In file included from /usr/include/endian.h:35:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:49:1: error: redefinition of '__bswap_32'
__bswap_32 (__uint32_t __bsx)
^
/usr/include/x86_64-linux-gnu/bits/byteswap.h:49:1: note: previous definition is here
__bswap_32 (__uint32_t __bsx)
^
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:176:
In file included from /usr/include/endian.h:35:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:70:1: error: redefinition of '__bswap_64'
__bswap_64 (__uint64_t __bsx)
^
/usr/include/x86_64-linux-gnu/bits/byteswap.h:70:1: note: previous definition is here
__bswap_64 (__uint64_t __bsx)
^
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:176:
In file included from /usr/include/endian.h:36:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:33:1: error: redefinition of '__uint16_identity'
__uint16_identity (__uint16_t __x)
^
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:33:1: note: previous definition is here
__uint16_identity (__uint16_t __x)
^
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:176:
In file included from /usr/include/endian.h:36:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:39:1: error: redefinition of '__uint32_identity'
__uint32_identity (__uint32_t __x)
^
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:39:1: note: previous definition is here
__uint32_identity (__uint32_t __x)
^
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:176:
In file included from /usr/include/endian.h:36:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:45:1: error: redefinition of '__uint64_identity'
__uint64_identity (__uint64_t __x)
^
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:45:1: note: previous definition is here
__uint64_identity (__uint64_t __x)
^
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:227:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:72:3: error: typedef redefinition with different types ('union pthread_mutex_t' vs 'union pthread_mutex_t')
} pthread_mutex_t;
  ^
/usr/include/x86_64-linux-gnu/sys/types.h:227:11: note: '/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' included multiple times, additional include site here
# include <bits/pthreadtypes.h>
          ^
/usr/include/x86_64-linux-gnu/sys/types.h:227:11: note: '/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' included multiple times, additional include site in header from module 'MathCore.Math/ChebyshevPol.h'
# include <bits/pthreadtypes.h>
          ^
/home/krasznaa/development/root/build/include/module.modulemap:367:10: note: MathCore.Math/ChebyshevPol.h defined here
  module "Math/ChebyshevPol.h" { header "Math/ChebyshevPol.h" export * }
         ^
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:227:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:80:3: error: typedef redefinition with different types ('union pthread_cond_t' vs 'union pthread_cond_t')
} pthread_cond_t;
  ^
/usr/include/x86_64-linux-gnu/sys/types.h:227:11: note: '/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' included multiple times, additional include site here
# include <bits/pthreadtypes.h>
          ^
/usr/include/x86_64-linux-gnu/sys/types.h:227:11: note: '/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' included multiple times, additional include site in header from module 'MathCore.Math/ChebyshevPol.h'
# include <bits/pthreadtypes.h>
          ^
/home/krasznaa/development/root/build/include/module.modulemap:367:10: note: MathCore.Math/ChebyshevPol.h defined here
  module "Math/ChebyshevPol.h" { header "Math/ChebyshevPol.h" export * }
         ^
In file included from input_line_24:26:
In file included from /home/krasznaa/development/root/build/include/Math/ChebyshevPol.h:23:
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:227:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:91:3: error: typedef redefinition with different types ('union pthread_rwlock_t' vs 'union pthread_rwlock_t')
} pthread_rwlock_t;
  ^
/usr/include/x86_64-linux-gnu/sys/types.h:227:11: note: '/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' included multiple times, additional include site here
# include <bits/pthreadtypes.h>
          ^
/usr/include/x86_64-linux-gnu/sys/types.h:227:11: note: '/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h' included multiple times, additional include site in header from module 'MathCore.Math/ChebyshevPol.h'
# include <bits/pthreadtypes.h>
          ^
/home/krasznaa/development/root/build/include/module.modulemap:367:10: note: MathCore.Math/ChebyshevPol.h defined here
  module "Math/ChebyshevPol.h" { header "Math/ChebyshevPol.h" export * }
         ^
Error: /home/krasznaa/development/root/build/bin/rootcling: compilation failure (/home/krasznaa/development/root/build/lib/libMathCore9cc06a7fbb_dictUmbrella.h)
make[2]: *** [math/mathcore/CMakeFiles/G__MathCore.dir/build.make:257: math/mathcore/G__MathCore.cxx] Error 1
make[1]: *** [CMakeFiles/Makefile2:19350: math/mathcore/CMakeFiles/G__MathCore.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

I checked my APT history, the linux-libc-dev:amd64 package received a minor update on my system 4 days ago. (Going from version 5.4.0-72.80 to 5.4.0-73.82.) But that does not look like it should cause any significant problems. :confused:

All in all, this whole thing is still very confusing to me… :frowning:

P.S. I didn’t write this out explicitly before, but of course all of these ROOT versions worked fine on my system before. Hence the “stopped” in the title of the issue.

For a while I was convinced that my desktop must be in some sort of a broken state. (I had an “episode” with it 2 days ago, where the system disk was nor responding well, and the machine needed a power cycle to return to normal operation. I thought some system files must’ve been corrupted in the process. But by now I manually re-installed every single one of the .deb packages by hand.) But I don’t think so anymore. At least I don’t think that it’s something like a file corruption.

One thing that I did recently was to install the latest version of the AMD video drivers on my machine. This triggered the installation of llvm10.

[bash][Legolas]:~ > apt list --installed "*llvm*"
Listing... Done
libllvm10/focal,now 1:10.0.0-4ubuntu1 amd64 [installed,automatic]
libllvm11/focal-updates,now 1:11.0.0-2~ubuntu20.04.1 amd64 [installed,automatic]
libllvm11/focal-updates,now 1:11.0.0-2~ubuntu20.04.1 i386 [installed,automatic]
llvm-10-dev/focal,now 1:10.0.0-4ubuntu1 amd64 [installed,automatic]
llvm-10-runtime/focal,now 1:10.0.0-4ubuntu1 amd64 [installed,automatic]
llvm-10-tools/focal,now 1:10.0.0-4ubuntu1 amd64 [installed,automatic]
llvm-10/focal,now 1:10.0.0-4ubuntu1 amd64 [installed,automatic]
llvm-amdgpu4.1.0/now 12.0.0.21081.40100 amd64 [installed,local]
[bash][Legolas]:~ >

Since I found exactly one mention of this error message on the web ([cxxmodules] Add LD_LIBRARY_PATH to the list of prebuilt module caches.-开源项目-CSDN问答) which talks mostly about setting the LD_LIBRARY_PATH variable correctly/incorrectly for the job to be broken like this, I wonder if it’s llvm10 that’s at the source of my problems.

On my laptop (which as an NVidia GPU :stuck_out_tongue:), I don’t see any issue with my existing ROOT installations. Even after updating the system earlier today.

Does anyone have any experience with using AMD’s gpu drivers together with ROOT? Would such issues be expected? :thinking:

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