Skip to content

GaudiKernel - Update VectorClass and hide in namespace

GaudiKernel builds a private version of instrset_detect() copied from the VectorClass package. Whilst the header is not made public, the symbols are compiled into the GaudiKernel linker library and thus available to any downstream users. This means these symbols could conflict with the same ones from a different build of VectorClass, such as the one LHCb privately uses, or the one in the LCG area.

This MR updates the version used to be that from a more recent release, and then uses a new feature in that version to place the symbols inside a namespace Gaudi. This means these symbols then are not in conflict with other usages (unless of course they happen to pick the same namespace...).

Longer term it would be better to use the version from the LCG area. However there is an issue which prevents this now, at least for LHCb, which is the version there is very old 2015-10-24 version 1.16 Whereas the latest is 2017-07-27 version 1.30. There are a number of updates and bug fixes between these two that I think we need in LHCb (clang fixes for instance).

@clemenci @bcouturi Could we request an update in the LCG area for a future release ? The current version is

/cvmfs/sft.cern.ch/lcg/releases/LCG_89/vectorclass/1.16
Edited by Christopher Rob Jones

Merge request reports