KDE CI enforcing ECMEnableSanitizers.cmake/KDECompilerSettings.cmake?

Friedrich W. H. Kossebau kossebau at kde.org
Mon Apr 25 09:59:13 BST 2016


Hi,

can anyone shed full light on KDE CI and the usage of ASan?

Currently e.g. all tests of Marble are failing, with the message
"ASan runtime does not come first in initial library list; you should either 
link runtime to your application or manually preload it with LD_PRELOAD."

https://build.kde.org/job/marble%20master%20kf5-qt5/
PLATFORM=Linux,compiler=gcc/26/testReport/

As Marble tries to be optionally Qt-only by tradition, also the current Qt5(/
KF5)-based version has lots of custom CMake logic, for full independence, and 
only falls back to using ECM macros/settings when it comes to Plasma & other 
KDE system integration code.

Which currently also means all tests are not influenced anywhere by ECM 
macros. Incl. KDECompilerSettings.cmake (and thus ECMEnableSanitizers.cmake).
So the code from ECMEnableSanitizers.cmake which handles the 
"ECM_ENABLE_SANITIZERS" cmake argument is never run.

Where currently -DECM_ENABLE_SANITIZERS='address' seems to be passed in the 
kf5-qt5 configuration:
https://quickgit.kde.org/?p=sysadmin%2Fci-builder-tools.git&a=blob&f=build
%2Fkf5-qt5.cfg

Is this the reason that all the Marble tests fail on KDE CI, with the given 
error?

So do any projects which are build on KDE CI need to have 
ECMEnableSanitizers.cmake included?

Would it make sense to have ASan as an option to be turned off?
And is that possible, or is ASan usage viral (if deps built on CI have it, it 
needs to be used)?

While using ASan seems to be useful for improved test coverage, this 
requirement still would need to be explained and documented somewhere, please.

Cheers
Friedrich




More information about the kde-core-devel mailing list