Skip to content

Fix linking

Florian Uhlig requested to merge f.uhlig/cbmroot:fix_linking into master

Fix linking on all platforms. Somehow the dynamic linker on macosx 12 has changed. It now needs to resolve all symbols when loading a library such that all dependent libraries needs to be passed explicitly already when linking a new library. Before the linker was able to resolve such symbols if the needed library was in the library search path needed library was in the library search path. Add a patch needed to for NicaFemto which adds missing library dependencies. Fix a problem of a crash during macro compilation at runtime on several platforms. With the new linking scheme many macros crashed during the compilation due to a problem of different Vc versions of library and header files. FairSoft installs a different Vc versions as the one installed with CbmRoot. The FairSoft Vc version is used during the compilation of ROOT, the internal Vc version is used when compiling CBM libraries. At runtime both libraries need to be loaded at the same time which results in the crash. It is yet unclear why the problem does not show up on all systems but only on Debian11. To overcome the problem CbmRoot now also uses the Vc installation of FairSoft and don"t need to install an own version any longer.

This MR is a cleaned version of !627 (closed) and supersede it.

Merge request reports