#1096349 autolog: ftbfs with GCC-15

Package:
src:autolog
Source:
src:autolog
Submitter:
Matthias Klose
Date:
2025-09-04 22:07:13 UTC
Severity:
normal
Tags:
#1096349#5
Date:
2025-02-17 17:04:26 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/autolog_0.42.1-2_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

[...]
  149 | time_t    time();        /* they are used so often      */
      |           ^~~~
In file included from autolog.c:51:
/usr/include/time.h:76:15: note: previous declaration of ‘time’ with type ‘time_t(time_t *)’ {aka ‘long int(long int *)’}
   76 | extern time_t time (time_t *__timer) __THROW;
      |               ^~~~
autolog.c: In function ‘main’:
autolog.c:207:9: error: too many arguments to function ‘time’; expected 0, have 1
  207 |         time(&pres_time);                 /* get current time for log-file */
      |         ^~~~ ~~~~~~~~~~
autolog.c:149:11: note: declared here
  149 | time_t    time();        /* they are used so often      */
      |           ^~~~
autolog.c:232:17: error: too many arguments to function ‘time’; expected 0, have 1
  232 |                 time(&pres_time);                          /* get current time       */
      |                 ^~~~ ~~~~~~~~~~
autolog.c:149:11: note: declared here
  149 | time_t    time();        /* they are used so often      */
      |           ^~~~
autolog.c: In function ‘mesg’:
autolog.c:941:9: error: too many arguments to function ‘time’; expected 0, have 1
  941 |         time(&tvec);                            /* tvec = current time. .....*/
      |         ^~~~ ~~~~~
autolog.c:149:11: note: declared here
  149 | time_t    time();        /* they are used so often      */
      |           ^~~~
autolog.c: In function ‘load_users’:
autolog.c:428:9: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  428 |         fscanf(f, "%d", &userfill);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
autolog.c:438:17: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  438 |                 fscanf(f, " %s %d %s %d %d %d %d",
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  439 |                        userlst[userpos].Name,
      |                        ~~~~~~~~~~~~~~~~~~~~~~
  440 |                        &userlst[userpos].UserID,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~
  441 |                        userlst[userpos].Device,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~
  442 |                        &userlst[userpos].IdleTime,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  443 |                        &userlst[userpos].SessStrt,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  444 |                        &userlst[userpos].Ban_Ends,
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  445 |                        &userlst[userpos].WarnEnds);
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
autolog.c: In function ‘get_PIDs’:
autolog.c:826:9: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  826 |         fgets(iline, LINELEN, ps);               /* get header-line */
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
autolog.c: In function ‘mesg’:
autolog.c:951:25: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  951 |                         system (mbuf);
      |                         ^~~~~~~~~~~~~
autolog.c:974:25: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  974 |                         system (mbuf);
      |                         ^~~~~~~~~~~~~
autolog.c:999:25: warning: ignoring return value of ‘system’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  999 |                         system(mbuf);
      |                         ^~~~~~~~~~~~
autolog.c: In function ‘kill_lost_PIDs’:
autolog.c:1154:9: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1154 |         fgets(iline, LINELEN, ps);               /* get header-line */
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:17: autolog] Error 1
make[1]: Leaving directory '/build/reproducible-path/autolog-0.42.1'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:6: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2