#1097899 slrn: ftbfs with GCC-15

Package:
src:slrn
Source:
src:slrn
Submitter:
Matthias Klose
Date:
2025-09-04 22:10:50 UTC
Severity:
normal
Tags:
#1097899#5
Date:
2025-02-17 17:54:00 UTC
From:
To:
[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/slrn_1.0.3+dfsg-8_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/uudeview.h:191:18: note: declared here
  191 | int     UUEXPORT UUSetOption            _ANSI_ARGS_((int, int, char *));
      |                  ^~~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:4587:27: error: too many arguments to function ‘UULoadFile’; expected 0, have 3
 4587 |    if (UURET_OK != (ret = UULoadFile (file, NULL, 0)))
      |                           ^~~~~~~~~~  ~~~~
/usr/include/uudeview.h:208:18: note: declared here
  208 | int     UUEXPORT UULoadFile             _ANSI_ARGS_((char *, char *, int));
      |                  ^~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:4592:29: error: too many arguments to function ‘UUGetOption’; expected 0, have 4
 4592 |                       file, UUGetOption (UUOPT_ERRNO, NULL, NULL, 0));
      |                             ^~~~~~~~~~~  ~~~~~~~~~~~
/usr/include/uudeview.h:190:18: note: declared here
  190 | int     UUEXPORT UUGetOption            _ANSI_ARGS_((int, int *, char *, int));
      |                  ^~~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:4594:58: error: too many arguments to function ‘UUstrerror’; expected 0, have 1
 4594 |           slrn_error (_("could not load %s: %s"),  file, UUstrerror (ret));
      |                                                          ^~~~~~~~~~  ~~~
/usr/include/uudeview.h:192:18: note: declared here
  192 | char *  UUEXPORT UUstrerror             _ANSI_ARGS_((int));
      |                  ^~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:4598:27: error: too many arguments to function ‘UUGetFileListItem’; expected 0, have 1
 4598 |    while (NULL != (item = UUGetFileListItem (i)))
      |                           ^~~~~~~~~~~~~~~~~  ~
/usr/include/uudeview.h:210:18: note: declared here
  210 | uulist *UUEXPORT UUGetFileListItem      _ANSI_ARGS_((int));
      |                  ^~~~~~~~~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:4605:15: error: too many arguments to function ‘UUDecodeFile’; expected 0, have 2
 4605 |         ret = UUDecodeFile (item, NULL);
      |               ^~~~~~~~~~~~  ~~~~
/usr/include/uudeview.h:214:18: note: declared here
  214 | int     UUEXPORT UUDecodeFile           _ANSI_ARGS_((uulist *, char *));
      |                  ^~~~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:4614:25: error: too many arguments to function ‘UUstrerror’; expected 0, have 1
 4614 |              else err = UUstrerror (ret);
      |                         ^~~~~~~~~~  ~~~
/usr/include/uudeview.h:192:18: note: declared here
  192 | char *  UUEXPORT UUstrerror             _ANSI_ARGS_((int));
      |                  ^~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:4621:1: warning: no return statement in function returning non-void [-Wreturn-type]
 4621 | }
      | ^
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c: In function ‘view_scores’:
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:5574:48: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
 5574 |         if (slrn_edit_file (Slrn_Editor_Score, (char *) hlp->filename,
      |                                                ^
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c: In function ‘find_children_headers’:
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:5978:4: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
 5978 |    slrn_message_now (fmt, meter_chars[last_meter_char]);
      |    ^~~~~~~~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:5997:9: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
 5997 |         slrn_message_now (fmt, meter_chars[last_meter_char]);
      |         ^~~~~~~~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c: In function ‘gen_cancel_key’:
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:3688:11: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 3688 |    (void) fread (buf, filelen, 1, cansecret);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c: In function ‘display_article_line’:
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:8991:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
 8991 |         if (Slrn_Verbatim_Marks_Hidden)
      |            ^
/build/reproducible-path/slrn-1.0.3+dfsg/src/art.c:8994:7: note: here
 8994 |       case VERBATIM_LINE:
      |       ^~~~
make[2]: *** [Makefile:225: /build/reproducible-path/slrn-1.0.3+dfsg/src/objs/art.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/slrn-1.0.3+dfsg/src'
make[1]: *** [debian/rules:12: override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/reproducible-path/slrn-1.0.3+dfsg'
make: *** [debian/rules:8: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2