Skip to content

Update flesnet version in cbmroot

Jan de Cuveland requested to merge j.decuveland/cbmroot:update_flesnet into master

To make the new algorithms work efficiently with mCBM, we still need to include the "new" flesnet timeslice API in cbmroot. This MR is meant to update the external Flesnet reference to the current version.

The difficulty is that the interface has changed so much internally that updating the git hash is unfortunately not enough:

  1. Since the new version is directly connected to the shared memory, it internally uses significantly more code from the Flesnet repository. Therefore, it is no longer sufficient to just include the lib/fles_ipc subdirectory, we need more parts. My suggestion would be to include Flesnet completely analogous to the other external packages and to compile only the relevant parts possibly via build parameters as a build time optimization.

  2. As a further complication the interface needs a specific version of the ZeroMQ library built in a very recent version and with customized build parameters. To avoid conflicts with other versions, I solved this in the Flesnet repository by including ZeroMQ as an external package in the CMake buildflow and linking it statically. For this we would need a corresponding solution in cbmroot.

  3. The additional flesnet code parts are C++-17 and therefore the interface cannot be compiled with an older language standard.

Merge request reports