[DO NOT MERGE] Bump FairRoot v18.8.0-beta
NOT MEANT FOR MERGING, just for testing with your CI.
@ktf This should get rid of Boost, FairMQ, DDS, PROOF dependencies. However, there were many C++ changes/deprecations as well, let's see how Alice is affected. (18.8 is not released, but we would like to soon)
cc: @karabowi @ChristianTackeGSI
Just collecting what shows up so far:
Common/Field/src/MagFieldFact.cxx:30:73: warning: 'FairFieldFactory::fCreator' is deprecated [-Wdeprecated-declarations]
30 | MagFieldFact::MagFieldFact() : FairFieldFactory(), mFieldPar(nullptr) { fCreator = this; }
| ^~~~~~~~
In file included from /sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Common/Field/include/Field/MagFieldFact.h:19,
from /sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Common/Field/src/MagFieldFact.cxx:12:
/sw/slc7_x86-64/FairRoot/v18.8.0-beta-local1/include/FairFieldFactory.h:33:38: note: declared here
33 | [[deprecated]] FairFieldFactory* fCreator;
| ^~~~~~~~
/sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Detectors/ITSMFT/test/HitAnalysis/src/HitAnalysis.cxx: In member function 'virtual InitStatus o2::its::HitAnalysis::Init()':
/sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Detectors/ITSMFT/test/HitAnalysis/src/HitAnalysis.cxx:71:3: error: 'FairRootManager' was not declared in this scope
71 | FairRootManager* mgr = FairRootManager::Instance();
| ^~~~~~~~~~~~~~~
/sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Detectors/ITSMFT/test/HitAnalysis/src/HitAnalysis.cxx:71:20: error: 'mgr' was not declared in this scope
71 | FairRootManager* mgr = FairRootManager::Instance();
| ^~~
/sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Detectors/ITSMFT/test/HitAnalysis/src/HitAnalysis.cxx:71:26: error: 'FairRootManager' is not a class, namespace, or enumeration
71 | FairRootManager* mgr = FairRootManager::Instance();
| ^~~~~~~~~~~~~~~
/sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Detectors/ITSMFT/test/HitAnalysis/src/HitAnalysis.cxx:77:29: error: expected primary-expression before 'const'
77 | mHits = mgr->InitObjectAs<const std::vector<o2::itsmft::Hit>*>("ITSHit");
| ^~~~~
Just collecting what shows up so far:
Common/Field/src/MagFieldFact.cxx:30:73: warning: 'FairFieldFactory::fCreator' is deprecated [-Wdeprecated-declarations] 30 | MagFieldFact::MagFieldFact() : FairFieldFactory(), mFieldPar(nullptr) { fCreator = this; } | ^~~~~~~~
Just remove the fCreator = this;. That really should still work on 18.6 as well. (see: https://github.com/FairRootGroup/FairRoot/commit/7236364b552dc50004dc92d4c576bd975f8687f3 )
/sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Detectors/ITSMFT/test/HitAnalysis/src/HitAnalysis.cxx: In member function 'virtual InitStatus o2::its::HitAnalysis::Init()': /sw/SOURCES/O2/build_O2_alidist-slc7_x86-64/0/Detectors/ITSMFT/test/HitAnalysis/src/HitAnalysis.cxx:71:3: error: 'FairRootManager' was not declared in this scope 71 | FairRootManager* mgr = FairRootManager::Instance(); | ^~~~~~~~~~~~~~~
I think, you should add a #include <FairRootManager.h> in an appropriate place. We have cleaned up our includes, so you need to be more specific about including what you really need.
JFI: If you fully switch to 18.8 (and don't need compatibility with 18.6), and you're using FairRun & friends, you might look into getting the FairRootManager from the FairRun instead of via the ::Instance method. See https://github.com/FairRootGroup/FairRoot/commit/b8bb90e69968975034597621580f002c9f766b78 for the change in FairRoot that exposes this new functionality.