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:
- Download the source from https://github.com/davidchall/RootTuple
- Modify the file
RootTuple-master/src/CMakeLists.txt
by changing one lineadd_library (RootTuple SHARED ${RootTuple_SOURCES})
toadd_library (RootTuple STATIC ${RootTuple_SOURCES})
- follow the usual given build procedure of 'RootTuple'
...here internals to your ROOT installation may enter...
- Maybe you have to add in
RootTuple-master/CMakeLists.txt
the lineset (CMAKE_CXX_FLAGS "-std=c++17")
- If you have errors related to missing
latex2html
, comment out inRootTuple-master/CMakeLists.txt
#add_subdirectory (docs)
(We thank Taisiya Mineeva for pointing us to this!)
- 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.