[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1096265: 4g8: ftbfs with GCC-15



Package: src:4g8
Version: 1.0-6
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/4g8_1.0-6_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

[...]
utils.c:437:30: warning: pointer targets in passing argument 2 of ‘strtok’ differ in signedness [-Wpointer-sign]
  437 |          eptr = strtok(NULL, delim))
      |                              ^~~~~
      |                              |
      |                              u_int8_t * {aka unsigned char *}
/usr/include/string.h:356:67: note: expected ‘const char * restrict’ but argument is of type ‘u_int8_t *’ {aka ‘unsigned char *’}
  356 | extern char *strtok (char *__restrict __s, const char *__restrict __delim)
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
utils.c:437:15: warning: pointer targets in assignment from ‘char *’ to ‘u_int8_t *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
  437 |          eptr = strtok(NULL, delim))
      |               ^
utils.c:439:29: warning: pointer targets in passing argument 1 of ‘strtol’ differ in signedness [-Wpointer-sign]
  439 |         if((base16 = strtol(eptr, 0, 16)) > 0xff)
      |                             ^~~~
      |                             |
      |                             u_int8_t * {aka unsigned char *}
In file included from /usr/include/libnet.h:58:
/usr/include/stdlib.h:177:48: note: expected ‘const char * restrict’ but argument is of type ‘u_int8_t *’ {aka ‘unsigned char *’}
  177 | extern long int strtol (const char *__restrict __nptr,
      |                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
utils.c: In function ‘retrieve_rand_ethernet_addr’:
utils.c:468:20: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
  468 |            sprintf(eaddr, "%s:%0x", eaddr, oct);
      |                    ^~~~~
      |                    |
      |                    u_int8_t * {aka unsigned char *}
/usr/include/x86_64-linux-gnu/bits/stdio2.h:28:1: note: expected ‘char *’ but argument is of type ‘u_int8_t *’ {aka ‘unsigned char *’}
   28 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
      | ^~~~~
utils.c:470:20: warning: pointer targets in passing argument 1 of ‘sprintf’ differ in signedness [-Wpointer-sign]
  470 |            sprintf(eaddr, "%0x", oct);
      |                    ^~~~~
      |                    |
      |                    u_int8_t * {aka unsigned char *}
/usr/include/x86_64-linux-gnu/bits/stdio2.h:28:1: note: expected ‘char *’ but argument is of type ‘u_int8_t *’ {aka ‘unsigned char *’}
   28 | __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
      | ^~~~~
In file included from /usr/include/stdio.h:970:
In function ‘vsnprintf’,
    inlined from ‘print_separator’ at utils.c:88:5:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:100:10: warning: ‘__builtin___vsnprintf_chk’ specified bound 256 exceeds destination size 255 [-Wstringop-overflow=]
  100 |   return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  101 |                                     __glibc_objsize (__s), __fmt, __ap);
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utils.c: In function ‘format_ethernet_addr’:
utils.c:428:9: warning: ‘__builtin_strncpy’ specified bound 18 equals destination size [-Wstringop-truncation]
  428 |         strncpy(o_ethstr, ethstr, 18);
      |         ^
In function ‘sprintf’,
    inlined from ‘retrieve_rand_ethernet_addr’ at utils.c:468:12:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:30:10: warning: ‘__builtin___sprintf_chk’ argument 5 overlaps destination object ‘eaddr’ [-Wrestrict]
   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   31 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~
utils.c: In function ‘retrieve_rand_ethernet_addr’:
utils.c:455:39: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here
  455 | retrieve_rand_ethernet_addr(u_int8_t *eaddr)
      |                             ~~~~~~~~~~^~~~~
make[3]: Leaving directory '/build/reproducible-path/4g8-1.0/src'
make[2]: *** [Makefile:398: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/4g8-1.0'
make[1]: *** [Makefile:338: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/4g8-1.0'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:17: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2


Reply to: