• Bug#1109071: libgcrypt20 FTBFS with gcc-15

    From Helmut Grohne@21:1/5 to All on Thu Jul 10 21:30:01 2025
    Source: libgcrypt20
    Version: 1.11.0-7
    Severity: important
    Tags: ftbfs forky sid
    User: [email protected]
    Usertags: rebootstrap

    Hi,

    libgcrypt20 fails to build from source with gcc-15 for some
    architectures. The cause may be found in mpi/longlong.h. In several
    lines such as 193, 499 and 1409, there are function prototypes without arguments. This trips up the updated language standard by gcc-15 and
    building libcrypt20 now complains about excess arguments. For example:

    | In file included from ../../mpi/mpih-div.c:32:
    | ../../mpi/mpih-div.c: In function ‘_gcry_mpih_mod_1’:
    | ../../mpi/longlong.h:190:11: error: too many arguments to function ‘__udiv_qrnnd’; expected 0, have 4
    | 190 | (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
    | | ^~~~~~~~~~~~ ~~~~
    | ../../mpi/mpih-div.c:84:17: note: in expansion of macro ‘udiv_qrnnd’
    | 84 | udiv_qrnnd(divisor_limb_inverted, dummy,
    | | ^~~~~~~~~~
    | ../../mpi/longlong.h:193:16: note: declared here

    This does not seem to affect amd64 as Matthias would have otherwise
    reported this problem already. It does affect at least alpha.

    Remember that this problem does not affect trixie and that it can be
    worked around by exporting DEB_CFLAGS_APPEND=-std=gnu17. Hence, I
    recommend not fixing this before trixie is released.

    Helmut

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas Metzler@21:1/5 to [email protected] on Mon Jul 14 15:20:02 2025
    On 2025-07-10 Helmut Grohne <[email protected]> wrote:
    Source: libgcrypt20
    Version: 1.11.0-7
    Severity: important
    Tags: ftbfs forky sid
    User: [email protected]
    Usertags: rebootstrap

    Hi,

    libgcrypt20 fails to build from source with gcc-15 for some
    architectures. The cause may be found in mpi/longlong.h. In several
    lines such as 193, 499 and 1409, there are function prototypes without arguments. This trips up the updated language standard by gcc-15 and
    building libcrypt20 now complains about excess arguments. For example:

    | In file included from ../../mpi/mpih-div.c:32:
    | ../../mpi/mpih-div.c: In function ‘_gcry_mpih_mod_1’:
    | ../../mpi/longlong.h:190:11: error: too many arguments to function ‘__udiv_qrnnd’; expected 0, have 4
    | 190 | (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
    | | ^~~~~~~~~~~~ ~~~~
    | ../../mpi/mpih-div.c:84:17: note: in expansion of macro ‘udiv_qrnnd’
    | 84 | udiv_qrnnd(divisor_limb_inverted, dummy,
    | | ^~~~~~~~~~
    | ../../mpi/longlong.h:193:16: note: declared here

    This does not seem to affect amd64 as Matthias would have otherwise
    reported this problem already. It does affect at least alpha.

    It also does not show up on mips64el and arm64.

    powerpc64le shows a
    different issue, it fails late without earlier warnings:
    libtool: link: ( cd ".libs" && rm -f "libgcrypt.la" && ln -s "../libgcrypt.la" "libgcrypt.la" )
    /bin/bash ../libtool --tag=CC --mode=link gcc-15 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/home/ametzler/GCR/libgcrypt20-1.11.1=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility=hidden -fno-delete-null-
    pointer-checks -Wall -Wl,-z,relro -Wl,-z,now -o mpicalc mpicalc-mpicalc.o libgcrypt.la -L/usr/lib/powerpc64le-linux-gnu -lgpg-error
    libtool: link: gcc-15 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/home/ametzler/GCR/libgcrypt20-1.11.1=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility=hidden -fno-delete-null-pointer-checks -Wall -Wl,-z -Wl,
    relro -Wl,-z -Wl,now -o .libs/mpicalc mpicalc-mpicalc.o ./.libs/libgcrypt.so -L/usr/lib/powerpc64le-linux-gnu -lgpg-error
    /usr/bin/ld: ./.libs/libgcrypt.so: undefined reference to `gcry_poly1305_p10le_4blocks'
    /usr/bin/ld: ./.libs/libgcrypt.so: undefined reference to `_gcry_chacha20_p10le_8x'
    collect2: error: ld returned 1 exit status
    make[3]: *** [Makefile:662: mpicalc] Error 1
    make[3]: Leaving directory '/home/ametzler/GCR/libgcrypt20-1.11.1/build/src'

    We do not have an alpha Developer Machine account anymore. Any idea
    where else this should show up?

    cu Andreas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas Metzler@21:1/5 to [email protected] on Tue Jul 15 14:20:01 2025
    On 2025-07-14 Andreas Metzler <[email protected]> wrote:
    [...]
    We do not have an alpha Developer Machine account anymore. Any idea
    where else this should show up?
    [...]

    Hello,

    Having done more test builds (armhf, s390x, risc64) I now doubt that this
    shows up on any release-arch. On top of that I wonder whether it would
    apply to 1.11.1(experimental) or GIT master.

    cu Andreas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andreas Metzler@21:1/5 to [email protected] on Fri Jul 18 13:50:01 2025
    On 2025-07-15 Andreas Metzler <[email protected]> wrote:
    On 2025-07-14 Andreas Metzler <[email protected]> wrote:
    [...]
    We do not have an alpha Developer Machine account anymore. Any idea
    where else this should show up?
    [...]

    Hello,

    Having done more test builds (armhf, s390x, risc64) I now doubt that this shows up on any release-arch. On top of that I wonder whether it would
    apply to 1.11.1(experimental) or GIT master.

    sparc64 also succeeds, hppa porterboxes are either down
    (parisc.debian.net) or do not have a working experimental chroot (panama.debian.net).

    cu Andreas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)