Building O2 fails at Monitoring on Ubuntu 18.04

Hi,

I am trying to update O2 on my local laptop (Ubuntu 18.04) for QC development and I get a crash when building O2 at Monitoring:

DEBUG:O2:Monitoring:old: ++ make -j 8 install DEBUG:O2:Monitoring:old: Scanning dependencies of target Monitoring DEBUG:O2:Monitoring:old: [ 1%] Building CXX object CMakeFiles/Monitoring.dir/src/Metric.cxx.o DEBUG:O2:Monitoring:old: [ 3%] Building CXX object CMakeFiles/Monitoring.dir/src/Monitoring.cxx.o DEBUG:O2:Monitoring:old: [ 5%] Building CXX object CMakeFiles/Monitoring.dir/src/Backends/InfluxDB.cxx.o DEBUG:O2:Monitoring:old: [ 7%] Building CXX object CMakeFiles/Monitoring.dir/src/Backends/StdOut.cxx.o DEBUG:O2:Monitoring:old: [ 9%] Building CXX object CMakeFiles/Monitoring.dir/src/DerivedMetrics.cxx.o DEBUG:O2:Monitoring:old: [ 11%] Building CXX object CMakeFiles/Monitoring.dir/src/ProcessMonitor.cxx.o DEBUG:O2:Monitoring:old: [ 13%] Building CXX object CMakeFiles/Monitoring.dir/src/ProcessDetails.cxx.o DEBUG:O2:Monitoring:old: [ 15%] Building CXX object CMakeFiles/Monitoring.dir/src/MonitoringFactory.cxx.o DEBUG:O2:Monitoring:old: [ 17%] Building CXX object CMakeFiles/Monitoring.dir/src/Transports/UDP.cxx.o DEBUG:O2:Monitoring:old: [ 19%] Building CXX object CMakeFiles/Monitoring.dir/src/Transports/TCP.cxx.o DEBUG:O2:Monitoring:old: [ 21%] Building CXX object CMakeFiles/Monitoring.dir/src/Transports/Unix.cxx.o DEBUG:O2:Monitoring:old: [ 23%] Building CXX object CMakeFiles/Monitoring.dir/src/Transports/StdOut.cxx.o DEBUG:O2:Monitoring:old: [ 25%] Building CXX object CMakeFiles/Monitoring.dir/src/Exceptions/MonitoringException.cxx.o DEBUG:O2:Monitoring:old: /home/tomas/alice/sw/SOURCES/Monitoring/v3.8.7/v3.8.7/src/Transports/Unix.cxx:18:10: fatal error: filesystem: No such file or directory DEBUG:O2:Monitoring:old: #include <filesystem> DEBUG:O2:Monitoring:old: ^~~~~~~~~~~~ DEBUG:O2:Monitoring:old: compilation terminated. DEBUG:O2:Monitoring:old: CMakeFiles/Monitoring.dir/build.make:211: recipe for target 'CMakeFiles/Monitoring.dir/src/Transports/Unix.cxx.o' failed DEBUG:O2:Monitoring:old: make[2]: *** [CMakeFiles/Monitoring.dir/src/Transports/Unix.cxx.o] Error 1 DEBUG:O2:Monitoring:old: make[2]: *** Waiting for unfinished jobs.... DEBUG:O2:Monitoring:old: CMakeFiles/Makefile2:339: recipe for target 'CMakeFiles/Monitoring.dir/all' failed DEBUG:O2:Monitoring:old: make[1]: *** [CMakeFiles/Monitoring.dir/all] Error 2 DEBUG:O2:Monitoring:old: Makefile:159: recipe for target 'all' failed DEBUG:O2:Monitoring:old: make: *** [all] Error 2

Here is the full log file: CERNBox

Alidist-master, O2-dev, QC-master are all updated to latest version.

Any hint for solution would be appreciated.

Thanks.
Cheers,
Tomas

Hi,

I was able to make the O2 compile by manually editing “gcc-toolchain.sh” in alidist. The required change was to delete the line allowing the gcc-toolchain version 70300

  case $REQUESTED_VERSION in
    v10*) MIN_GCC_VERSION=100200 ;;
    *) MIN_GCC_VERSION=70300 ;;
  esac

to

  case $REQUESTED_VERSION in
    v10*) MIN_GCC_VERSION=100200 ;;
  esac

Then both O2 and QC compiled without errors. I remember seeing a problem with gcc version in other threads, not sure if this is connected.

Tomas