I was not aware that this was happening, that is very unusual behavior.
I'll start by fixing my CMake script and adding the appropriate checks
for a compiler, as you suggested.
Thank you,
João
On 12/29/24 18:00, Ben Cooksley wrote:
On Mon, Dec 30, 2024 at 5:26 AM João Gouveia
<joaotalonegouv...@gmail.com> wrote:
Hi everyone,
Hi João,
It seems that the CI image for OpenSUSE's Tumbleweed does not use
a version of Clang that supports the -fhardened compiler flag (see
this job log
<https://invent.kde.org/joaotgouveia/mankalaengine/-/jobs/2411881>,
line 484). This flag is being set by ECM's KDECompilerSettings
(source
<https://github.com/KDE/extra-cmake-modules/blob/master/kde-modules/KDECompilerSettings.cmake#L614C1-L614C60>).
Am I misconfiguring something, or is this a genuine issue? If this
is not the appropriate place to discuss this, please let me know.
It looks like you're doing something very unusual here, as I don't see
any search for a conventional C compiler that most KDE projects do -
and the compiler that CMake said it found was GCC, not Clang.
Yet it is Clang that ends up being used.
I'll note that -fhardened flag is a GCC flag - which is why there are
logic checks in KDECompilerSettings beforehand, but those rely on what
CMake said it found.
So the fix here is to find how/why we end up using Clang even though
we said we were going to be using GCC.
I will note that Clang is not present in these images to be used as a
compiler - it is there to provide support for KDevelop and Clazy
(which make use of parts of Clang in their parsers) as well as for the
clang-format utility.
See the various comments around Clang in
https://invent.kde.org/sysadmin/ci-images/-/blob/master/suse-qt68/Dockerfile
The supported compiler for this image is GCC.
Best regards,
João
Cheers,
Ben