O2 build fails at asiofi in ubuntu 20.04

Dear Experts,

My O2 build fails when building asiofi. The error is quite strange - stating that my system has a suitable version of OFI of 1.6.2 and the minimum required is 1.6.0, but it still fails. The log is here: https://cernbox.cern.ch/index.php/s/nyi4dY5viQKId8R

I’d appreciate any hint on how to fix it (or, perhaps, which package I should uninstall from the system to force aliBuild to build OFI itself).

The output of aliDoctor is:

L5300:~/software/alice$ aliDoctor O2 --defaults o2 SUCCESS: Required package openmp will be picked up from the system. SUCCESS: Package libuv will be picked up from the system. SUCCESS: Package lz4 will be picked up from the system. SUCCESS: Package utf8proc will be picked up from the system. SUCCESS: Package zlib will be picked up from the system. WARNING: Package flatbuffers cannot be picked up from the system and will be built by aliBuild. WARNING: This is due to the fact the following script fails: WARNING: WARNING: brew() { true; }; which flatc && printf "#include \"flatbuffers/flatbuffers.h\"\nint main(){}" | c++ -I$(brew --prefix flatbuffers)/include -xc++ -std=c++11 - -o /dev/null WARNING: WARNING: with the following output: WARNING: WARNING: flatbuffers: /usr/bin/flatc WARNING: flatbuffers: <stdin>:1:10: fatal error: flatbuffers/flatbuffers.h: No such file or directory WARNING: flatbuffers: compilation terminated. WARNING: flatbuffers: WARNING: WARNING: Package CMake cannot be picked up from the system and will be built by aliBuild. WARNING: This is due to the fact the following script fails: WARNING: WARNING: brew() { true; }; verge() { [[ "$1" = "echo -e “$1\n$2” | sort -V | head -n1" ]]; } WARNING: type cmake && verge 3.18.0 cmake --version | sed -e ‘s/.* //’ | cut -d. -f1,2,3&& ! verge 3.19.0cmake --version | sed -e ‘s/.* //’ | cut -d. -f1,2,3# Block CMake 3.19, currently incompatible with CUDA compilation WARNING: WARNING: with the following output: WARNING: WARNING: CMake: /bin/bash: line 1: type: cmake: not found WARNING: CMake: WARNING: SUCCESS: Package yaml-cpp will be picked up from the system. SUCCESS: Package GCC-Toolchain will be picked up from the system. SUCCESS: Package ZeroMQ will be picked up from the system. WARNING: Package OpenSSL cannot be picked up from the system and will be built by aliBuild. WARNING: This is due to the fact the following script fails: WARNING: WARNING: brew() { true; }; if [uname= Darwin ]; then test -dbrew --prefix openssl || echo /dev/nope || exit 1; fi; echo '#include <openssl/bio.h>' | c++ -x c++ - -Ibrew --prefix openssl/include -c -o /dev/null || exit 1; echo -e "#include <openssl/opensslv.h>\n#if OPENSSL_VERSION_NUMBER >= 0x10100000L\n#error \"System's GCC cannot be used: we need OpenSSL 1.0.x to build XrootD. We are going to compile our own version.\"\n#endif\nint main() { }" | cc -x c++ - -Ibrew --prefix openssl/include -c -o /dev/null || exit 1 WARNING: WARNING: with the following output: WARNING: WARNING: OpenSSL: <stdin>:3:2: error: #error "System's GCC cannot be used: we need OpenSSL 1.0.x to build XrootD. We are going to compile our own version." WARNING: OpenSSL: WARNING: SUCCESS: Package GLFW will be picked up from the system. WARNING: Package FreeType cannot be picked up from the system and will be built by aliBuild. WARNING: This is due to the fact the following script fails: WARNING: WARNING: brew() { true; }; printf "#include <ft2build.h>\n" | c++ -xc++ - freetype-config --cflags` -c -M 2>&1;
WARNING: if [ $? -ne 0 ]; then printf “FreeType is missing on your system.\n * On RHEL-compatible systems you probably need: freetype freetype-devel\n * On Ubuntu-compatible systems you probably need: libfreetype6 libfreetype6-dev\n”; exit 1; fi
WARNING:
WARNING: with the following output:
WARNING:
WARNING: FreeType: /bin/bash: freetype-config: command not found
WARNING: FreeType: :1:10: fatal error: ft2build.h: No such file or directory
WARNING: FreeType: compilation terminated.
WARNING: FreeType: FreeType is missing on your system.
WARNING: FreeType: * On RHEL-compatible systems you probably need: freetype freetype-devel
WARNING: FreeType: * On Ubuntu-compatible systems you probably need: libfreetype6 libfreetype6-dev
WARNING: FreeType:
WARNING:
SUCCESS: Required package system-curl will be picked up from the system.
SUCCESS: Package autotools will be picked up from the system.
SUCCESS: Package libpng will be picked up from the system.
SUCCESS: Package lzma will be picked up from the system.
SUCCESS: Package bz2 will be picked up from the system.
SUCCESS: Required package Python-system will be picked up from the system.
SUCCESS: Required package make will be picked up from the system.
SUCCESS: Package GSL will be picked up from the system.
SUCCESS: Required package opengl will be picked up from the system.
SUCCESS: Required package Xdevel will be picked up from the system.
SUCCESS: Package libxml2 will be picked up from the system.
SUCCESS: Package ofi will be picked up from the system.

==> The following packages will be built by aliBuild because
usage of a system version of it is not allowed or supported, by policy:

- FairMQ 
- Python-modules 
- simulation 
- protobuf 
- O2 
- defaults-release 
- UUID 
- curl 
- GEANT4_VMC 
- ROOT 
- AliEn-Runtime 
- arrow 
- asiofi 
- googlebenchmark 
- lhapdf 
- Vc 
- FairLogger 
- libInfoLogger 
- cub 
- libwebsockets 
- Python-modules-list 
- Monitoring 
- json-c 
- Ppconsul 
- GMP 
- JAliEn-ROOT 
- alibuild-recipe-tools 
- hijing 
- GEANT3 
- boost 
- ms_gsl 
- O2-customization 
- GEANT4 
- vgm 
- FairRoot 
- pythia 
- re2 
- ApMon-CPP 
- libtirpc 
- DDS 
- MPFR 
- DebugGUI 
- fmt 
- capstone 
- AEGIS 
- MCStepLogger 
- libjalienO2 
- googletest 
- AliEn-CAs 
- Configuration 
- cgal 
- xjalienfs 
- Clang 
- Common-O2 
- fastjet 
- XRootD 
- RapidJSON 
- Alice-GRID-Utils 
- HepMC3 
- double-conversion 
- pythia6 
- generators

==> The following packages will be picked up from the system:

- lzma
- libxml2
- GCC-Toolchain
- ZeroMQ
- GSL
- zlib
- autotools
- libuv
- GLFW
- yaml-cpp
- utf8proc
- bz2
- ofi
- libpng
- lz4

If this is not you want, you have to uninstall / unload them.

==> The following packages will be built by aliBuild because they couldn’t be picked up from the system:

- OpenSSL
- FreeType
- CMake
- flatbuffers

This is not a real issue, but it might take longer the first time you invoke aliBuild.
Look at the error messages above to get hints on what packages you need to install separately.

`

Just a follow-up on the solution for the benefit of others who face a similar problem.

I managed to build asiofi by uninstalling from my system the development package of OFI (libfabric-dev) and thus force aliBuild to build it itself.