On 2026-01-17 06:15, Andreas Metzler wrote: > configure:22126: checking for gcry_cipher_checktag in -lgcrypt > configure:22155: gcc -o conftest -W -Wall -Wno-unused-parameter > -Wno-unused-function -g -O2 -Werror=implicit-function-declaration > -ffile-prefix-map=/home/ametzler/NDPI/ndpi-4.2=. -fstack-protector-strong > -fstack-clash-protection -Wformat -Werror=format-security > -mbranch-protection=standard -I/usr/include/json-c -Wdate-time > -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -mbranch-protection=standard > conftest.c -lgcrypt -ljson-c -ljson-c >&5 > /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libgcrypt.so: > 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. > configure:22155: $? = 0 > configure: failed program was: > [...] > configure:22167: result: no > > However, taking the snippped "failed program" and running the quoted > "gcc -o conftest -W ..." on it yields the warning but exits > successfully. (exit code 0).
Thanks for your analysis, you're right to be very puzzled. What's happening is that configure.ac uses AC_LANG_WERROR, which means compiler warnings are considered errors: https://sources.debian.org/src/ndpi/4.2-2.1/configure.ac#L45 That's why suppressing the GCS warning fixes the build, as Adrian found.

