Skip to content

libsession-token-perl: ftbfs with GCC-15 #6

@gregoa

Description

@gregoa

We have the following bug reported to the Debian package of
Session-Token, c.f. https://bugs.debian.org/1097268

It doesn't seem to be a bug in the packaging, so you may want to take
a look. Thanks!

------8<-----------8<-----------8<-----------8<-----------8<-----

Package: src:libsession-token-perl
Version: 1.503-2
Severity: important
Tags: sid forky
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/libsession-token-perl_1.503-2_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
SHELL=/bin/sh
USER=user42

dpkg-buildpackage
-----------------

Command: dpkg-buildpackage --sanitize-env -us -uc -b
dpkg-buildpackage: info: source package libsession-token-perl
dpkg-buildpackage: info: source version 1.503-2
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Jelmer Vernooij <jelmer@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh clean
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
	/usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libsession-token-perl-1.503=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libsession-token-perl-1.503=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro -Wl,-z,now"
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Session::Token
Writing MYMETA.yml and MYMETA.json
   dh_auto_build
	make -j8
make[1]: Entering directory '/build/reproducible-path/libsession-token-perl-1.503'
Running Mkbootstrap for Token ()
"/usr/bin/perl" "/usr/share/perl/5.40/ExtUtils/xsubpp"  -typemap '/usr/share/perl/5.40/ExtUtils/typemap' -typemap '/build/reproducible-path/libsession-token-perl-1.503/typemap'  Token.xs > Token.xsc
x86_64-linux-gnu-gcc -c  -I. -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libsession-token-perl-1.503=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2   -DVERSION=\"1.503\" -DXS_VERSION=\"1.503\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.40/CORE"   randport.c
chmod 644 "Token.bs"
randport.c: In function �isaac�:
randport.c:29:10: warning: old-style function definition [-Wold-style-definition]
   29 | void     isaac(ctx)
      |          ^~~~~
randport.c:31:1: error: number of arguments doesn�t match prototype
   31 | {
      | ^
In file included from randport.c:16:
rand.h:41:6: error: prototype declaration
   41 | void isaac(/*_ randctx *r _*/);
      |      ^~~~~
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Token.bs blib/arch/auto/Session/Token/Token.bs 644
randport.c: In function �randinit�:
randport.c:66:6: warning: old-style function definition [-Wold-style-definition]
   66 | void randinit(ctx, flag)
      |      ^~~~~~~~
randport.c:69:1: error: number of arguments doesn�t match prototype
   69 | {
      | ^
rand.h:39:6: error: prototype declaration
   39 | void randinit(/*_ randctx *r, word flag _*/);
      |      ^~~~~~~~
randport.c:119:4: error: too many arguments to function �isaac�; expected 0, have 1
  119 |    isaac(ctx);            /* fill in the first set of results */
      |    ^~~~~ ~~~
randport.c:29:10: note: declared here
   29 | void     isaac(ctx)
      |          ^~~~~
make[1]: *** [Makefile:344: randport.o] Error 1
make[1]: *** Waiting for unfinished jobs....
cp lib/Session/Token.pm blib/lib/Session/Token.pm
mv Token.xsc Token.c
make[1]: Leaving directory '/build/reproducible-path/libsession-token-perl-1.503'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2


------8<-----------8<-----------8<-----------8<-----------8<-----

Thanks for considering,
gregor herrmann,
Debian Perl Group

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions