Giter Club home page Giter Club logo

Comments (11)

dsarrut avatar dsarrut commented on August 17, 2024

Hello,

to my knowledge, ROOT is now needed for Gate, there is no more cmake option to compile Gate without ROOT.

David

from gate.

dfreese avatar dfreese commented on August 17, 2024

Ah okay. The following in the CMakeList.txt file and the installation wiki convolutes that issue a little bit.

# Option for Root use
SET(GATE_USE_ROOT ON)
SET(GATE_ANALYSIS_USE_GENERAL ON)
SET(GATE_ANALYSIS_USE_FILE ON)

from gate.

dsarrut avatar dsarrut commented on August 17, 2024

exact, you're right ! I admit I never try to compile without root ...
Could you retrieve the patch you mention ?

from gate.

dfreese avatar dfreese commented on August 17, 2024

The patch that I saw in the original message thread was found here. It looks like it was something done in the work towards v7.0.

Which would be the better option: getting the patch adjusted the current code, or removing the option of compiling without root?

from gate.

dsarrut avatar dsarrut commented on August 17, 2024

thanks ... I don't know which one is better. On my side I may be tempted to remove the option of compiling without root, but I don't know if other people find it useful.

The patch cannot be applied easily because the code change a bit since then ...

from gate.

patayg avatar patayg commented on August 17, 2024

I was the author of the aforementioned patch. I tried to update it, but ROOT dependencies are now so uniformly scattered in the source code that I'd rather vote to simply drop the "compile without ROOT" option.

from gate.

dsarrut avatar dsarrut commented on August 17, 2024

ok, let's do like that so: @patayg dont spend time to update the patch, eventually could you please instead remove the option to compile without root (and make a pull request) ?

from gate.

djboersma avatar djboersma commented on August 17, 2024

I guess I am a bit late to join the discussion, but I would like to mention that in my previous project (IceCube), we had a code base that is of similar scale as GATE, and in which we also were trying to use ROOT as a library. We ran into a couple of unpleasant surprises that made us decide to make the effort of enabling ROOT-free builds of our software. Basically we would have liked to use ROOT as a library, but ROOT thinks of itself as a framework that is in charge of everything, and it is doing many more things behind your back than you think (memory management, LOTS of global variables, access to home directory), even when all you are trying to do is to create a simple histogram and save it into a file.

So I would be in favor of keeping our GATE code base similarly defensive, and to try to support ROOT-free builds. On the other hand I understand that this involves quite a bit of extra work, at least on the short/medium term. On the long term it might actually save time (if my scaremongering turns out to be justified and relevant to GATE...).

If you like I could try to obtain a more specific list of ROOT trouble points from the IceCube software gurus, if that could help to decide how to act on this with GATE.

from gate.

patayg avatar patayg commented on August 17, 2024

Actually, the "compile without ROOT" flag is removed from the CMake options since the commit 5fbb437, so it should not cast any problem for a 'regular' user.

Still, it would be a nice feature to have a ROOT-free build with fewer dependencies at the cost of limited functionality, e.g. no ARF modeling, lack of several actors and ROOT output.

from gate.

brenthuisman avatar brenthuisman commented on August 17, 2024

I think everyone agrees ROOT is not great but I've looked for alternative libraries that can write ROOT histograms and TTree and such and did not find any. Many actors do use ROOT classes, so removing it basically only leaves you with the various voxelized dose actors, wouldn't it? To me that sounds like a very limited version of Gate.

In Geant4 there is the source/analysis/g4tools/include/tools directory, where there are appears to be a minimum implementation of some of ROOTs classes minus the lovely framework features (rroot and wroot subdirs). Perhaps we can simply copy/link to that.

from gate.

dsarrut avatar dsarrut commented on August 17, 2024

Gate needs ROOT

from gate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.