Package: src:libast
Version: 0.7-11
Severity: important
Tags: sid forky
User: debian-...@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/libast_0.7-11_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

[...]
  717 |     spif_func_t comp;
      |                 ^~~~
../include/libast/types.h:239:42: error: too many arguments to function 
'((spif_const_class_t *)((spif_const_obj_t *)value)->cls)->dup'; expected 0, 
have 1
  239 | #define SPIF_CAST(type)                  (SPIF_TYPE(type))
../include/libast/obj.h:286:43: note: in expansion of macro 'SPIF_CAST'
  286 | #define SPIF_CLASS(cls)                  (SPIF_CAST(class) (cls))
      |                                           ^~~~~~~~~
../include/libast/obj.h:447:43: note: in expansion of macro 'SPIF_CLASS'
  447 | #define SPIF_OBJ_CLASS(obj)              
(SPIF_CLASS(SPIF_OBJ(obj)->cls))
      |                                           ^~~~~~~~~~
../include/libast/obj.h:485:42: note: in expansion of macro 'SPIF_OBJ_CLASS'
  485 | #define SPIF_OBJ_CALL_METHOD(obj, meth)  SPIF_OBJ_CLASS(obj)->meth
      |                                          ^~~~~~~~~~~~~~
../include/libast/obj.h:579:58: note: in expansion of macro 
'SPIF_OBJ_CALL_METHOD'
  579 | #define SPIF_OBJ_DUP(o)                  SPIF_CAST(obj) 
(SPIF_OBJ_CALL_METHOD((o), dup)(o))
      |                                                          
^~~~~~~~~~~~~~~~~~~~
array.c:812:62: note: in expansion of macro 'SPIF_OBJ_DUP'
  812 |         spif_objpair_set_value(SPIF_OBJPAIR(self->items[i]), 
SPIF_OBJ_DUP(value));
      |                                                              
^~~~~~~~~~~~
../include/libast/obj.h:718:17: note: declared here
  718 |     spif_func_t dup;
      |                 ^~~
array.c:813:16: error: 'TRUE' undeclared (first use in this function)
  813 |         return TRUE;
      |                ^~~~
array.c: In function 'spif_array_iterator_init':
array.c:847:46: error: 'FALSE' undeclared (first use in this function)
  847 |     ASSERT_RVAL(!SPIF_ITERATOR_ISNULL(self), FALSE);
      |                                              ^~~~~
../include/libast.h:510:56: note: in definition of macro 'ASSERT_RVAL'
  510 |                                                return (val);}} while (0)
      |                                                        ^~~
array.c:855:12: error: 'TRUE' undeclared (first use in this function)
  855 |     return TRUE;
      |            ^~~~
array.c: In function 'spif_array_iterator_done':
array.c:861:46: error: 'FALSE' undeclared (first use in this function)
  861 |     ASSERT_RVAL(!SPIF_ITERATOR_ISNULL(self), FALSE);
      |                                              ^~~~~
../include/libast.h:510:56: note: in definition of macro 'ASSERT_RVAL'
  510 |                                                return (val);}} while (0)
      |                                                        ^~~
array.c:864:12: error: 'TRUE' undeclared (first use in this function)
  864 |     return TRUE;
      |            ^~~~
array.c: In function 'spif_array_iterator_del':
array.c:872:46: error: 'FALSE' undeclared (first use in this function)
  872 |     ASSERT_RVAL(!SPIF_ITERATOR_ISNULL(self), FALSE);
      |                                              ^~~~~
../include/libast.h:510:56: note: in definition of macro 'ASSERT_RVAL'
  510 |                                                return (val);}} while (0)
      |                                                        ^~~
array.c: In function 'spif_array_iterator_has_next':
array.c:948:46: error: 'FALSE' undeclared (first use in this function)
  948 |     ASSERT_RVAL(!SPIF_ITERATOR_ISNULL(self), FALSE);
      |                                              ^~~~~
../include/libast.h:510:56: note: in definition of macro 'ASSERT_RVAL'
  510 |                                                return (val);}} while (0)
      |                                                        ^~~
array.c:954:16: error: 'TRUE' undeclared (first use in this function)
  954 |         return TRUE;
      |                ^~~~
make[3]: *** [Makefile:502: array.lo] Error 1
make[3]: Leaving directory '/build/reproducible-path/libast-0.7/src'
make[2]: *** [Makefile:508: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/libast-0.7'
make[1]: *** [Makefile:403: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/libast-0.7'
make: *** [/usr/share/cdbs/1/class/makefile.mk:77: debian/stamp-makefile-build] 
Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Reply via email to