I am trying to update QualityControl on centos 7 with the latest software stack.
The command aliBuild build QualityControl --defaults o2 fails at Monitoring@v3.8.1 with some undefined references to AliceO2::InfoLogger.
lib/libO2Monitoring.so: undefined reference to `AliceO2::InfoLogger::InfoLogger::operator<<(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
lib/libO2Monitoring.so: undefined reference to `AliceO2::InfoLogger::InfoLoggerContext::setField(AliceO2::InfoLogger::InfoLoggerContext::FieldName, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
Dear Thomas,
That should work. Is your alidist at master ? what are your development packages ?
One way to often sort it out is to blast sw…
Cheers,
Barth
Apart from the nuclear option, this seems to be some sort of hidden dependency of Monitoring on InfoLogger which does not trigger the appropriate rebuilds everywhere, hence the missing symbol when the InfoLogger API changes. @awegrzyn could it be there is an AliceO2::InfoLogger (or similar) missing in one of the Monitoring CMakeLists.txt?
Hi,
Yes, Monitoring may use InfoLogger for logging, but this is optional dependency and not set in alidist ATM, therefore this should not happen. I can take a look.
On my CC7 with system’s GCC I managed to build QC without any issues. What I did is aliBuild build QualityControl --defaults o2-dataflow --always-prefer-system.
Hi,
The library compiles fine, the issue is with linking tests against library, could you check in INSTALLROOT dir? Looking at your logs it should be: /home/tklemenz/AliSoftware/sw/INSTALLROOT/b046259406ea27d74b24b86e538b0dc9081b23a4/slc7_x86-64/Monitoring/v3.8.1-local1
Also aliBuild build QualityControl --defaults o2-dataflow --always-prefer-system is failing with the same error. To be precise I also specify the work dir as sw while starting compilation from the folder containing alidist and the development packages. So this shouldn’t make a difference either.