LCG 106 broke SIMDWrapper (?) on ARM
Error starts here
/dependencies/LHCb/InstallArea/armv8.1_a-el9-gcc13-opt/include/LHCbMath/FastMaths.h: In instantiation of 'constexpr FP LHCb::Math::fast_log(FP) [with FP = int]':
../CaloFuture/CaloFuturePIDs/src/CaloChargedBremAlg.cpp:164:46: required from here
/dependencies/LHCb/InstallArea/armv8.1_a-el9-gcc13-opt/include/LHCbMath/FastMaths.h:406:3: error: no return statement in 'constexpr' function returning non-void
That it seems is just the end result. The problem seems to be this line of code is now returning an int in the ARM builds with LCG 106 whereas with LCG 105 it had to be a FP quantity for the code to compile.
auto track_logp = -LHCb::Math::fast_log( abs( track.qOverP( SL::FirstMeasurement ).cast() ) );
So the problem seems to be track.qOverP( SL::FirstMeasurement ).cast() and thus abs( ... ) is returning an int, which the fast_log method does not support and hence the build error.
track above is a v3 track so this all relates I think to how SIMDWrapper is working in this case on ARM.