[Pkg-electronics-devel] Bug#1097229: libmawk: ftbfs with GCC-15

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


Package: src:libmawk
Version: 1.0.4-3
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/libmawk_1.0.4-3_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

[...]
      |                ^~~~
In file included from /usr/include/features.h:510,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/stdlib.h:26,
                 from mawk.h:21,
                 from num_double.c:11:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:110:1: note: previous declaration of ‘modf’ with type ‘double(double,  double *)’
  110 | __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
      | ^~~~~~~~~~
num_double.c:47:17: error: too many arguments to function ‘modf’; expected 0, have 2
   47 |                 modf(x / y, &ipart);
      |                 ^~~~ ~~~~~
num_double.c:41:16: note: declared here
   41 |         double modf();
      |                ^~~~
In file included from vio_orig.c:15:
conf.h:39:24: note: ‘#pragma message: TODO: "TODO print runtime warnings"’
   39 | #define DO_PRAGMA(arg) _Pragma(#arg)
      |                        ^~~~~~~
conf.h:40:17: note: in expansion of macro ‘DO_PRAGMA’
   40 | #define TODO(x) DO_PRAGMA(message("TODO: " #x))
      |                 ^~~~~~~~~
vio_orig.c:165:1: note: in expansion of macro ‘TODO’
  165 | TODO("TODO print runtime warnings")
      | ^~~~
vio_orig.c: In function ‘mawk_vio_orig_open_pipe’:
conf.h:39:24: note: ‘#pragma message: TODO: ": better do this by hand - close on exec is not really portable"’
   39 | #define DO_PRAGMA(arg) _Pragma(#arg)
      |                        ^~~~~~~
conf.h:40:17: note: in expansion of macro ‘DO_PRAGMA’
   40 | #define TODO(x) DO_PRAGMA(message("TODO: " #x))
      |                 ^~~~~~~~~
vio_orig.c:290:1: note: in expansion of macro ‘TODO’
  290 | TODO(": better do this by hand - close on exec is not really portable")
      | ^~~~
make[3]: *** [<builtin>: num_double.o] Error 1
make[3]: *** Waiting for unfinished jobs....
vio_orig.c:283:25: warning: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  283 |                         dup(remote_fd);
      |                         ^~~~~~~~~~~~~~
In file included from mawk.h:20,
                 from bi_funct.c:16:
bi_funct.c: In function ‘mawk_bi_call’:
../libmawk/conf.h:39:24: note: ‘#pragma message: TODO: "this should be some common code in execute.c?"’
   39 | #define DO_PRAGMA(arg) _Pragma(#arg)
      |                        ^~~~~~~
../libmawk/conf.h:40:17: note: in expansion of macro ‘DO_PRAGMA’
   40 | #define TODO(x) DO_PRAGMA(message("TODO: " #x))
      |                 ^~~~~~~~~
bi_funct.c:967:1: note: in expansion of macro ‘TODO’
  967 | TODO("this should be some common code in execute.c?")
      | ^~~~
bi_funct.c: In function ‘mawk_bi_acall’:
../libmawk/conf.h:39:24: note: ‘#pragma message: TODO: ": cell destroy all the allocated but unused args?"’
   39 | #define DO_PRAGMA(arg) _Pragma(#arg)
      |                        ^~~~~~~
../libmawk/conf.h:40:17: note: in expansion of macro ‘DO_PRAGMA’
   40 | #define TODO(x) DO_PRAGMA(message("TODO: " #x))
      |                 ^~~~~~~~~
bi_funct.c:1064:1: note: in expansion of macro ‘TODO’
 1064 | TODO(": cell destroy all the allocated but unused args?")
      | ^~~~
make[3]: Leaving directory '/build/reproducible-path/libmawk-1.0.4/src/libmawk'
make[2]: *** [Makefile:2: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/libmawk-1.0.4/src'
make[1]: *** [Makefile:2: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/libmawk-1.0.4'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-electronics-devel mailing list