gibuu is hosted by Hepforge, IPPP Durham
GiBUU

Version 11 (modified by gallmei, 9 months ago) (diff)

update info about c++17 as default

library RootTuple

Starting with release 2018, the code is able to produce particle vector output as a ROOT file. Here we rely on the library RootTuple, which is a lightweight Fortran interface to some existing ROOT installation.

Unfortunately, the default installation process of 'RootTuple' produces only a 'shared' library (*.so) , which is not usable with GiBUU; here we need a 'static' library (*.a). Therefore some rework is needed.

The easier way

If you have followed the download proceduce for the tar-balls, then

make buildRootTuple

should do all the job.

In case of troubles

We have changed line 10 in file GiBUU/libraries/RootTuple/RootTuple-master/src/CMakeLists.txt to

set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") # [GiBUU]

since this C standard was needed for the actual ROOT installation.

If your compiler complaints, please check the output of the command root-config --cflags. Maybe you can lower the restrictions for your personal ROOT installation to '-std=c++11'.

The manual way

If something goes wrong, you may try to do the manual compilation procedure:

  1. Download the source from https://github.com/davidchall/RootTuple
  1. Modify the file RootTuple-master/src/CMakeLists.txt by changing one line
    add_library (RootTuple SHARED ${RootTuple_SOURCES})
    
    to
    add_library (RootTuple STATIC ${RootTuple_SOURCES})
    
  1. follow the usual given build procedure of 'RootTuple'

...here internals to your ROOT installation may enter...

  1. Maybe you have to add in RootTuple-master/CMakeLists.txt the line
    set (CMAKE_CXX_FLAGS "-std=c++17")
    
  1. If you have errors related to missing latex2html, comment out in RootTuple-master/CMakeLists.txt
    #add_subdirectory (docs)
    

(We thank Taisiya Mineeva for pointing us to this!)

  1. make the library accessible for GiBUU, e.g.:
    cp RootTuple-master/build/src/libRootTuple.a <your/path/to/GiBUU>/objects/LIB/lib/libRootTuple.100.a
    
    (Here the '...100...' indicates the version number, which is fixed to be 1.0.0; please do not change!)

After this, a new rebuild of GiBUU (make renew; make) should detect the library.