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