I get the following error message, which is new (the above command was working few months ago):
[root@mchflp1 ~]# aliBuild init QualityControl@master --defaults o2-dataflow
WARNING: using existing recipes from ./alidist
ERROR: Specified default `o2-dataflow' is not compatible with the packages you want to build.
ERROR: Valid defaults:
ERROR:
ERROR: - o2
aliBuild init QualityControl@master --defaults o2 works properly, but the building process fails on the O2 target due to a missing shared library:
gmake[2]: *** No rule to make target `/root/alice/sw/slc7_x86-64/protobuf/v3.7.1-3/lib/libprotobuf.so', needed by `lib/libCCDB.so'. Stop.
Hi,
If you are on CC7 you might want to use the defaults “o2” instead of “o2-dataflow”. It allows for the download of the precompiled packages and saves a lot of time.
Cheers,
Barth
No, it’s not, because we check if we can apply a given default before actually applying it. Basically valid_defaults means: “these default know something about this package”. The idea is to avoid having aliroot defaults being used for O2.
@eulisse@teo@bvonhall unfortunately I still do not manage to compile QC using aliBuild.
I have updated alidist and the QC sources this morning.
Using the o2 defaults I am still blocked by the missing libprotobuf.so library.
If I use the o2-dataflow defaults, I can get past the compilation of O2 but then QC fails to compile, due to some mismatch in boost versions required by different libraries. However, in this cas the root of the problem seems to be a wrongly detected libInfoLogger.so library.
Here is the relevant part of the cmake log:
++ case $ARCHITECTURE in
++ rsync -a --ignore-existing /root/alice/sw/slc7_x86-64/CodingGuidelines/master-12/.clang-form
at /root/alice/sw/SOURCES/QualityControl/master/0
++ cmake /root/alice/sw/SOURCES/QualityControl/master/0 -DCMAKE_INSTALL_PREFIX=/root/alice/sw/s
lc7_x86-64/QualityControl/master-1 -DBOOST_ROOT=/root/alice/sw/slc7_x86-64/boost/v1.68.0-1 -DCo
mmon_ROOT=/root/alice/sw/slc7_x86-64/Common-O2/v1.4.2-1 -DConfiguration_ROOT=/root/alice/sw/slc
7_x86-64/Configuration/v2.2.1-10 -DInfoLogger_ROOT= -DO2_ROOT=/root/alice/sw/slc7_x86-64/O2/d96
fc51b10_O2_DATAFLOW-1 -DFAIRROOTPATH=/root/alice/sw/slc7_x86-64/FairRoot/c672f280ec-50 -DFairRo
ot_DIR=/root/alice/sw/slc7_x86-64/FairRoot/c672f280ec-50 -DMS_GSL_INCLUDE_DIR=/root/alice/sw/sl
c7_x86-64/ms_gsl/1-9/include -DARROW_HOME=/root/alice/sw/slc7_x86-64/arrow/v0.12.0-alice6-13 -D
CMAKE_CXX_STANDARD=17 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-- Boost version: 1.68.0
-- Found the following Boost libraries:
-- container
-- unit_test_framework
-- program_options
-- system
-- log
-- signals
-- system
-- date_time
-- log_setup
-- filesystem
-- thread
-- regex
-- chrono
-- atomic
-- Configuration 1.5.2 found
-- Monitoring 2.4.0 found
-- Found MySQL: /usr/lib64/mysql/libmysqlclient.so
-- Common-O2 0.0.0 found
-- InfoLogger found : /lib/libInfoLogger.so
-- Found AliceO2: /root/alice/sw/slc7_x86-64/O2/d96fc51b10_O2_DATAFLOW-1/lib/libFramework.so
As you can see, cmake picks /lib/libInfoLogger.so instead of the one from the /root/alice/sw/slc7_x86-64 folder. This is actually due to the fact that InfoLogger_ROOT is not properly passed to cmake:
Ah, right the protobuf issue probably requires the same massaging we had to do for O2 to be done in QC. That’s because we moved from the old FindProtobuf to the one which uses the CMake.config. Maybe @teo can have a look?
I have updated aidist and re-compiled the o2 default, but now I am stopped by a new compilation error:
In file included from input_line_12:1265:
/root/alice/sw/slc7_x86-64/AliTPCCommon/alitpccommon-v2.3.2.1-8/sources/TPCCAGPUTracking/SliceTracker/AliHLTTPCCATracker.h:37:10: fatal error: 'cmodules/timer.h' file not found
#include "cmodules/timer.h"
^~~~~~~~~~~~~~~~~~
Error: /root/alice/sw/slc7_x86-64/ROOT/v6-16-00-32/bin/rootcint: compilation failure (/root/alice/sw/BUILD/3dce92fe927b34303db90981efccd656db47b6b5/O2/Detectors/TPC/reconstruction/TPCCAGPUTracking/G__O2TPCCAGPUTrackingDictbf1f42c623_dictUmbrella.h)
gmake[2]: *** [Detectors/TPC/reconstruction/TPCCAGPUTracking/G__O2TPCCAGPUTrackingDict.cxx] Error 1