Bug#1075146: libauthen-sasl-xs-perl: ftbfs with GCC-14

Matthias Klose doko at debian.org
Wed Jul 3 13:32:33 BST 2024


Package: src:libauthen-sasl-xs-perl
Version: 1.00-2
Severity: important
Tags: sid trixie
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-14

[This bug is 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-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/libauthen-sasl-xs-perl_1.00-2_unstable_gccexp.log
The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++ 

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-14/porting_to.html

[...]
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=/<<PKGBUILDDIR>>=. -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=/<<PKGBUILDDIR>>=. -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 Authen::SASL::XS
Writing MYMETA.yml and MYMETA.json
   dh_auto_build
	make -j8
make[1]: Entering directory '/<<PKGBUILDDIR>>'
Running Mkbootstrap for XS ()
"/usr/bin/perl" "/usr/share/perl/5.38/ExtUtils/xsubpp"  -typemap '/usr/share/perl/5.38/ExtUtils/typemap' -typemap '/<<PKGBUILDDIR>>/typemap'  XS.xs > XS.xsc
chmod 644 "XS.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- XS.bs blib/arch/auto/Authen/SASL/XS/XS.bs 644
cp XS.pm blib/lib/Authen/SASL/XS.pm
cp XS.pod blib/lib/Authen/SASL/XS.pod
cp lib/Authen/SASL/XS/Security.pm blib/lib/Authen/SASL/XS/Security.pm
Please specify prototyping behavior for XS.xs (see perlxs manual)
mv XS.xsc XS.c
x86_64-linux-gnu-gcc -c  -I/usr/local/include -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=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2   -DVERSION=\"1.00\" -DXS_VERSION=\"1.00\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.38/CORE"  -DSASL2 XS.c
XS.xs: In function ‘AddCallback’:
XS.xs:884:39: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
  884 |                                 croak("Unknown parameter to %x callback.\n", cb->id);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~
      |                                                                                |
      |                                                                                long unsigned int
XS.xs:895:43: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(void *, int,  const char **, unsigned int *)’ [-Wincompatible-pointer-types]
  895 |                                  cb->proc = PerlCallback;
      |                                           ^
XS.xs:899:42: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(sasl_conn_t *, void *, int,  sasl_secret_t **)’ {aka ‘int (*)(struct sasl_conn *, void *, int,  struct sasl_secret **)’} [-Wincompatible-pointer-types]
  899 |                                 cb->proc = PerlCallbackSecret;
      |                                          ^
XS.xs:903:42: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(void *, int,  const char **, const char **)’ [-Wincompatible-pointer-types]
  903 |                                 cb->proc = PerlCallbackRealm;
      |                                          ^
XS.xs:910:42: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(sasl_conn_t *, void *, const char *, unsigned int,  const char *, unsigned int,  const char *, unsigned int,  struct propctx *)’ {aka ‘int (*)(struct sasl_conn *, void *, const char *, unsigned int,  const char *, unsigned int,  const char *, unsigned int,  struct propctx *)’} [-Wincompatible-pointer-types]
  910 |                                 cb->proc = PerlCallbackAuthorize;
      |                                          ^
XS.xs:914:42: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(sasl_conn_t *, void *, const char *, unsigned int,  unsigned int,  const char *, char *, unsigned int,  unsigned int *)’ {aka ‘int (*)(struct sasl_conn *, void *, const char *, unsigned int,  unsigned int,  const char *, char *, unsigned int,  unsigned int *)’} [-Wincompatible-pointer-types]
  914 |                                 cb->proc = PerlCallbackCanonUser;
      |                                          ^
XS.xs:918:42: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(sasl_conn_t *, void *, const char *, const char *, unsigned int,  struct propctx *)’ {aka ‘int (*)(struct sasl_conn *, void *, const char *, const char *, unsigned int,  struct propctx *)’} [-Wincompatible-pointer-types]
  918 |                                 cb->proc = PerlCallbackServerCheckPass;
      |                                          ^
XS.xs:922:42: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(sasl_conn_t *, void *, const char *, const char *, unsigned int,  struct propctx *, unsigned int)’ {aka ‘int (*)(struct sasl_conn *, void *, const char *, const char *, unsigned int,  struct propctx *, unsigned int)’} [-Wincompatible-pointer-types]
  922 |                                 cb->proc = PerlCallbackServerSetPass;
      |                                          ^
In file included from /usr/lib/x86_64-linux-gnu/perl/5.38/CORE/perl.h:6168,
                 from XS.xs:43:
XS.xs: In function ‘XS_Authen__SASL__XS_property’:
XS.xs:1886:40: error: initialization of ‘IV’ {aka ‘long int’} from ‘int *’ makes integer from pointer without a cast [-Wint-conversion]
 1886 |                                 XPUSHi((int *)value);
      |                                        ^
/usr/lib/x86_64-linux-gnu/perl/5.38/CORE/pp.h:428:23: note: in definition of macro ‘TARGi’
  428 |         IV TARGi_iv = i;                                                \
      |                       ^
XS.xs:1886:33: note: in expansion of macro ‘XPUSHi’
 1886 |                                 XPUSHi((int *)value);
      |                                 ^~~~~~
make[1]: *** [Makefile:343: XS.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
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



More information about the pkg-perl-maintainers mailing list