Bug#1097249: libpdl-netcdf-perl: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:33:09 GMT 2025


Package: src:libpdl-netcdf-perl
Version: 4.25-1
Severity: important
Tags: sid forky
User: debian-gcc at 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/libpdl-netcdf-perl_4.25-1_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

[...]
/usr/include/netcdf.h:1253:32: note: expected ‘signed char *’ but argument is of type ‘char *’
 1253 |                   signed char *ip);
      |                   ~~~~~~~~~~~~~^~
NetCDF.xs:2246:55: warning: pointer targets in passing argument 4 of ‘nc_get_var1_uint’ differ in signedness [-Wpointer-sign]
 2246 |       rc = nc_get_var1_uint   (ncid, varid, nc_index, &i_elem);
      |                                                       ^~~~~~~
      |                                                       |
      |                                                       int *
/usr/include/netcdf.h:1301:32: note: expected ‘unsigned int *’ but argument is of type ‘int *’
 1301 |                  unsigned int *ip);
      |                  ~~~~~~~~~~~~~~^~
NetCDF.xs:2252:60: warning: pointer targets in passing argument 4 of ‘nc_get_var1_ulonglong’ differ in signedness [-Wpointer-sign]
 2252 |       rc = nc_get_var1_ulonglong   (ncid, varid, nc_index, &ll_elem);
      |                                                            ^~~~~~~~
      |                                                            |
      |                                                            long long int *
/usr/include/netcdf.h:1317:40: note: expected ‘long long unsigned int *’ but argument is of type ‘long long int *’
 1317 |                    unsigned long long *ip);
      |                    ~~~~~~~~~~~~~~~~~~~~^~
/usr/lib/x86_64-linux-gnu/perl/5.40/CORE/XSUB.h:189:28: warning: unused variable ‘targ’ [-Wunused-variable]
  189 | #define dXSTARG SV * const targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \
      |                            ^~~~
NetCDF.c:3409:9: note: in expansion of macro ‘dXSTARG’
 3409 |         dXSTARG;
      |         ^~~~~~~
NetCDF.c:3408:17: warning: unused variable ‘RETVAL’ [-Wunused-variable]
 3408 |         int     RETVAL;
      |                 ^~~~~~
rm -f blib/arch/auto/PDL/NetCDF/NetCDF.so
x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libpdl-netcdf-perl-4.25=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -ffunction-sections -Wl,-z,relro -Wl,-z,now  -shared -L/usr/local/lib -fstack-protector-strong  NetCDF.o  -o blib/arch/auto/PDL/NetCDF/NetCDF.so  \
   -lnetcdf   \
  
chmod 755 blib/arch/auto/PDL/NetCDF/NetCDF.so
Manifying 1 pod document
make[2]: Leaving directory '/build/reproducible-path/libpdl-netcdf-perl-4.25'
make[1]: Leaving directory '/build/reproducible-path/libpdl-netcdf-perl-4.25'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/build/reproducible-path/libpdl-netcdf-perl-4.25'
TEST_VERBOSE=1 DISPLAY="" dh_auto_test
	make -j8 test TEST_VERBOSE=1
make[2]: Entering directory '/build/reproducible-path/libpdl-netcdf-perl-4.25'
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- NetCDF.bs blib/arch/auto/PDL/NetCDF/NetCDF.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
lib/PDL/PP.pm: loadable library and perl binaries are mismatched (got first handshake key 0xf200080, needed 0xeb80080)
t/01-Netcdf3.t .. 
Dubious, test returned 1 (wstat 256, 0x100)
No subtests run 
lib/PDL/PP.pm: loadable library and perl binaries are mismatched (got first handshake key 0xf200080, needed 0xeb80080)
t/02-Netcdf4.t .. 
Dubious, test returned 1 (wstat 256, 0x100)
No subtests run 

Test Summary Report
-------------------
t/01-Netcdf3.t (Wstat: 256 (exited 1) Tests: 0 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/02-Netcdf4.t (Wstat: 256 (exited 1) Tests: 0 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
Files=2, Tests=0,  0 wallclock secs ( 0.03 usr  0.01 sys +  0.23 cusr  0.04 csys =  0.31 CPU)
Result: FAIL
Failed 2/2 test programs. 0/0 subtests failed.
make[2]: *** [Makefile:1037: test_dynamic] Error 1
make[2]: Leaving directory '/build/reproducible-path/libpdl-netcdf-perl-4.25'
dh_auto_test: error: make -j8 test TEST_VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:33: override_dh_auto_test] Error 25
make[1]: Leaving directory '/build/reproducible-path/libpdl-netcdf-perl-4.25'
make: *** [debian/rules:27: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the pkg-perl-maintainers mailing list