ROOT-less build
Opened this issue · 7 comments
As it was mentionned at the NuXtract workshop, some collaborator outside of T2K and more generally outside of Europe would like to have the possibility to use GUNDAM without ROOT.
Until its begining GUNDAM has always been developped on top of ROOT and widely use its features like: TFile, TTree, TFormula, TSpline/TGraph and TCanvas.
A ROOTless version of GUNDAM would require us to strip the file management and replace it with HDF5 for instance, while finding a suitable replacement for the TFormulas and other noticable objects.
This would be a milestone for the long term. Like a GUNDAM v2.0.0 goal.
This needs to be closed as will not implement. GUNDAM is a ROOT tool, and not using ROOT means using a different tool kit, or rewriting large parts of the ROOT tool kit.
Really? Wouldn't it be possible to breakdown these tool kits into standalone dependencies?
This sounds like a major overhaul I wouldn't go for tbh.
Oh yes I agree! It could be progressive, like getting rid of TFormulas with a proper recursive descent parser, then adding the option to produce HDF5 files instead of root files etc...
I mean the issue I have with ROOT, is the fact that you can't compile it without the full toolkit set. For instance you need to recompile a custom version of LLVM which takes forever, and there is no way for the moment to use apt-get
for precompiled binaries...
Of course it's possible to write a generic interface that covers every current use of ROOT in GUNDAM, and then implement (plus validate) the glue to connect to ROOT, and then implement (plus validate) an interface to a different tool kit, and then deal with the differences between the tool kits, and then validate the use inside of GUNDAM.
On the whole, I think it would be easier to write a new GUNDAM for the new tool kit.
Yeah it's definitely not a straightforward task.
Compiling ROOT from source is an exercise, but ROOT is pre-built for a lot of distributions, and available with SNAP.