Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem building ROOT with gcc 11, Ubuntu 22.04 on GitHub Actions #14520

Closed
1 task done
KrisThielemans opened this issue Feb 1, 2024 · 8 comments
Closed
1 task done
Assignees
Labels

Comments

@KrisThielemans
Copy link

Check duplicate issues.

  • Checked for duplicates

Description

Since a few days, our GitHub Actions are failing when building ROOT via CMake. This is part of a SuperBuild with lots of other projects, and uses a parallel build. The problem is reproducible, i.e. all jobs fail at the same point. However, the failure depends on the ROOT version.

When compiling v6-26-10, we get SyneRBI/SIRF-SuperBuild#857

CMake Error at /home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/builds/ROOT/build/TBB-prefix/src/TBB-stamp/TBB-build-Release.cmake:49 (message):
  Command failed: 2

   'make' 'compiler=gcc' 'cpp0x=1' 'CXXFLAGS= -mno-rtm' 'CPLUS=/usr/lib/ccache/g++-11' 'CONLY=/usr/lib/ccache/gcc-11' 'LDFLAGS='
  See also
    /home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/builds/ROOT/build/TBB-prefix/src/TBB-stamp/TBB-build-*.log

the log file says

build/common.inc:48: "Warning: deprecated cpp0x=1 is used, stdver must be used instead. Building in stdver=c++0x mode."
../../build/Makefile.tbb:28: CONFIG: cfg=debug arch=intel64 compiler=gcc target=linux runtime=cc11.4.0_libc2.35_kernel6.2.0
make[7]: *** read jobs pipe: Bad file descriptor.  Stop.
make[7]: *** Waiting for unfinished jobs....
In file included from ../../src/tbb/concurrent_hash_map.cpp:17:
../../include/tbb/concurrent_hash_map.h: In constructor ‘tbb::interface5::internal::hash_map_base::hash_map_base()’:
../../include/tbb/concurrent_hash_map.h:131:24: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct tbb::interface5::internal::hash_map_base::bucket’ with no trivial copy-assignment; use value-initialization instead [-Wclass-memaccess]
  131 |             std::memset(my_embedded_segment, 0, sizeof(my_embedded_segment));
      |             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/tbb/concurrent_hash_map.h:93:16: note: ‘struct tbb::interface5::internal::hash_map_base::bucket’ declared here
   93 |         struct bucket : tbb::internal::no_copy {
      |                ^~~~~~
make[6]: *** [Makefile:28: tbb] Error 2

Trying to upgrade to v6-28-12, https://github.com/SyneRBI/SIRF-SuperBuild/pull/859/files, it compiled TBB ok, but failed in XROOTD installation. XROOTD-install-err.log says

[I] No git repository info found. Trying to interpret VERSION_INFO
[I] The XrdVersion.hh file already exists
gmake[7]: *** read jobs pipe: Bad file descriptor.  Stop.
gmake[7]: *** Waiting for unfinished jobs....
gmake[6]: *** [Makefile:136: all] Error 2
CMake Error at /home/runner/work/SIRF-SuperBuild/SIRF-SuperBuild/build/builds/ROOT/build/builtins/xrootd/XROOTD-prefix/src/XROOTD-stamp/XROOTD-install-Release-impl.cmake:9 (message):
  Command failed (2):

   '/usr/local/bin/cmake' '--build' '.' '--target' 'install'

The same error occurs with v6-30-04.

The log files actually don't really give an error, but the bad file descriptor is strange of course. I'm therefore not sure if this is a problem in ROOT, or a temporary problem on GitHub Actions, or of course a problem with how we build (although that seems to be finally CMake, https://github.com/SyneRBI/SIRF-SuperBuild/blob/master/SuperBuild/External_ROOT.cmake).

Any ideas?

Reproducer

I cannot reproduce this on my own Ubuntu 22.04 machine at present. We do get the failures in our GitHub Actions jobs.

ROOT version

see above

Installation method

CMake

Operating system

Ubuntu 22.04

Additional context

No response

@hahnjo
Copy link
Member

hahnjo commented Feb 2, 2024

@KrisThielemans can you share the full TBB and XRootD error files? The snippets above only show the last lines after make gave up, not what the actual error is (in case of TBB it's only a warning that is not fatal)

@KrisThielemans
Copy link
Author

That's all there is, which is confusing! here are 2 zip files with all the log files in the builds
ROOT_v6-28-12-XROOT-error.zip
ROOT-v6-26-10-TBB-error.zip

@hahnjo
Copy link
Member

hahnjo commented Feb 2, 2024

Right, very confusing... The only hint is read jobs pipe: Bad file descriptor. - maybe this means you are running out of file descriptors in excessive parallel builds / on the "restricted" GitHub Actions runners?

@KrisThielemans
Copy link
Author

just using 2. https://github.com/SyneRBI/SIRF-SuperBuild/blob/929fa6052d14d2c5f99d8917f5cd0b27c13bece8/.github/workflows/c-cpp.yml#L152

@KrisThielemans
Copy link
Author

This has disappeared. Presumably a temporary GHA problem. sorry for the noise.

@KrisThielemans
Copy link
Author

FYI, we have the same problem again since about 1 month. I tried using a non-parallel build (SyneRBI/SIRF-SuperBuild#903), which does work, but results in prohibitive build times.

@pcanal pcanal reopened this May 30, 2024
@hahnjo
Copy link
Member

hahnjo commented May 31, 2024

Without a reproducer outside for GitHub Actions there is nothing we can realistically do here...

@hahnjo hahnjo assigned pcanal and unassigned hahnjo May 31, 2024
@dpiparo
Copy link
Member

dpiparo commented Jun 1, 2024

@KrisThielemans thanks a lot for reporting. I agree with @hahnjo . We did not see that error on any of our platforms unfortunately.

@dpiparo dpiparo closed this as not planned Won't fix, can't repro, duplicate, stale Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

5 participants