On Tue, Aug 5, 2025 at 3:13 PM Emanuele Rocca <[email protected]> wrote:
> geary fails to build from source on arm64 if built with GCC-15, currently in
> experimental.
>
> GCC-15 includes support for an arm64 security feature called Guarded Control
> Stack (GCS). To help with GCS adoption, the linker warns about shared 
> libraries
> built without GCS. For example:
>
>  
> /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libncursesw.so.6:
>  warning: GCS is required by -z gcs, but this shared library lacks the 
> necessary property note. The dynamic loader might not enable GCS or refuse to 
> load the program unless all the shared library dependencies have the GCS 
> marking.
>
> The warning is harmless, and can be ignored. However, geary is built with
> --fatal-warnings, and for this reason will fail to build on arm64 once GCC-15
> becomes the default compiler in Debian.
>
> Luckily, it is possible to switch the warning off by passing the argument
> gcs-report-dynamic=none to the linker. Please consider adding the following to
> your debian/rules:
>
> ifeq ($(DEB_TARGET_ARCH),arm64)
> DEB_LDFLAGS_MAINT_APPEND=-Wl,-z,gcs-report-dynamic=none
> endif
>
> This can be done even before GCC-15 becomes the default compiler, to avoid
> build failures when it does.

gcc 15 is now the default in unstable and in Ubuntu questing.

I did a test build in a questing PPA and the build succeeded on arm64
with no changes:
https://launchpad.net/~jbicha/+archive/ubuntu/arch/+build/31132402

Thank you,
Jeremy Bícha

Reply via email to