#1096862 irsim: ftbfs with GCC-15

Package:
src:irsim
Source:
src:irsim
Submitter:
Matthias Klose
Date:
2025-10-05 12:10:00 UTC
Severity:
normal
Tags:
#1096862#5
Date:
2025-02-17 17:20:45 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/irsim_9.7.104-1.1_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

[...]
  117 | extern void AddHist( /*  node, value, inp, time, delay, rtime */ );
      |             ^~~~~~~
eval.c:498:14: error: too many arguments to function ‘model’; expected 0, have 1
  498 |             (*model)( n );
      |             ~^~~~~~~  ~
eval.c: In function ‘step’:
eval.c:510:12: warning: old-style function definition [-Wold-style-definition]
  510 | public int step( stop_time )
      |            ^~~~
eval.c:512:3: error: number of arguments doesn’t match prototype
  512 |   {
      |   ^
globals.h:93:12: error: prototype declaration
   93 | extern int step( /*  stop_time */ );
      |            ^~~~
eval.c:520:5: error: too many arguments to function ‘SetInputs’; expected 0, have 2
  520 |     SetInputs( &hinputs, HIGH );        /* HIGH inputs */
      |     ^~~~~~~~~  ~~~~~~~~
eval.c:442:14: note: declared here
  442 | private void SetInputs( listp, val )
      |              ^~~~~~~~~
eval.c:521:5: error: too many arguments to function ‘SetInputs’; expected 0, have 2
  521 |     SetInputs( &linputs, LOW );         /* LOW inputs */
      |     ^~~~~~~~~  ~~~~~~~~
eval.c:442:14: note: declared here
  442 | private void SetInputs( listp, val )
      |              ^~~~~~~~~
eval.c:522:5: error: too many arguments to function ‘SetInputs’; expected 0, have 2
  522 |     SetInputs( &uinputs, X );           /* X inputs */
      |     ^~~~~~~~~  ~~~~~~~~
eval.c:442:14: note: declared here
  442 | private void SetInputs( listp, val )
      |              ^~~~~~~~~
eval.c:535:22: error: too many arguments to function ‘get_next_event’; expected 0, have 1
  535 |     while( (evlist = get_next_event( stop_time )) != NULL )
      |                      ^~~~~~~~~~~~~~  ~~~~~~~~~
globals.h:287:14: note: declared here
  287 | extern evptr get_next_event( /*  stop_time */ );
      |              ^~~~~~~~~~~~~~
eval.c:549:17: error: too many arguments to function ‘disp_watch_vec’; expected 0, have 1
  549 |                 disp_watch_vec( brk_flag );
      |                 ^~~~~~~~~~~~~~  ~~~~~~~~
globals.h:258:13: note: declared here
  258 | extern void disp_watch_vec( /*  which */ );
      |             ^~~~~~~~~~~~~~
eval.c:567:9: error: too many arguments to function ‘UpdateWindow’; expected 0, have 1
  567 |         UpdateWindow( cur_delta );
      |         ^~~~~~~~~~~~  ~~~~~~~~~
globals.h:390:13: note: declared here
  390 | extern void UpdateWindow( /*  endT */ );
      |             ^~~~~~~~~~~~
eval.c: In function ‘ComputeTransState’:
eval.c:597:12: warning: old-style function definition [-Wold-style-definition]
  597 | public int ComputeTransState( t )
      |            ^~~~~~~~~~~~~~~~~
eval.c:599:3: error: number of arguments doesn’t match prototype
  599 |   {
      |   ^
globals.h:99:12: error: prototype declaration
   99 | extern int ComputeTransState( /*  t */ );
      |            ^~~~~~~~~~~~~~~~~
make[3]: *** [../rules.mak:13: eval.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/irsim-9.7.104/base'
make[2]: *** [Makefile:43: modules] Error 1
make[2]: Leaving directory '/build/reproducible-path/irsim-9.7.104'
make[1]: *** [Makefile:21: tcl] Error 2
make[1]: Leaving directory '/build/reproducible-path/irsim-9.7.104'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1096862#14
Date:
2025-10-03 15:20:09 UTC
From:
To:
Dear maintainer,

I've prepared an NMU for irsim (versioned as 9.7.104-1.2) and uploaded
it to DELAYED/2. Please feel free to tell me if I should cancel it.

cu
Adrian

#1096862#23
Date:
2025-10-05 12:06:55 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
irsim, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1096862@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Adrian Bunk <bunk@debian.org> (supplier of updated irsim package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 03 Oct 2025 18:11:52 +0300
Source: irsim
Architecture: source
Version: 9.7.104-1.2
Distribution: unstable
Urgency: medium
Maintainer: Debian Electronics Team <pkg-electronics-devel@lists.alioth.debian.org>
Changed-By: Adrian Bunk <bunk@debian.org>
Closes: 1096862
Changes:
 irsim (9.7.104-1.2) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * Build with -std=gnu17 to workaround FTBFS with GCC 15.
     (Closes: #1096862)
   * Backport the upstream fix instead of ignoring compile errors
     for missing function declarations.
   * Stop adding -Wl,--as-needed, it's now the default.
Checksums-Sha1:
 5efb8307f32744db56b09ac33e80f40847166a23 1994 irsim_9.7.104-1.2.dsc
 ab9265267bd9094709baf9e9a99861d174d42735 11384 irsim_9.7.104-1.2.debian.tar.xz
Checksums-Sha256:
 58a60b1f50359d9867b049d64c87f807d8319482a1c8f0261dfb40db7b0bb325 1994 irsim_9.7.104-1.2.dsc
 a7627f61e70d3a697d3d30cc9b8e466cdad4493cbae4911186e127aea547fff2 11384 irsim_9.7.104-1.2.debian.tar.xz
Files:
 b5b16578bbbc4d61771a6ac3c7c42baf 1994 electronics optional irsim_9.7.104-1.2.dsc
 543bf34c432eb4dade80209e9c60d866 11384 electronics optional irsim_9.7.104-1.2.debian.tar.xz
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEOvp1f6xuoR0v9F3wiNJCh6LYmLEFAmjf6Y4ACgkQiNJCh6LY
mLHSaw//Sqjck5bjm+RopcDDzPgBL00MDzRv/7HAcFr1HgcRfvpLuL7RwGY7dZmM
JTqguvsSdz4b4oXkgUc5/yZFmVTr+7UEVlD3L9qHjp5UIpBzW4R6BENozReqbxzu
ydJvnLXl9Utl+JhJlWuwcHuitMTuSLqosJWV8DJwYKQkgANkJ3M55o/bvJqnlX5S
OkKUYXvKLSnOH9hV8F5DsPCSRL8Kb53G4emypkKiaNjiJv8qisbLcs1phD900P75
Q5txh5pIONyutPhinFDAL9nEIonLwPYrv8P26aTrlh3hK7iwyPD/bKOPuGsNibMf
5e2gps3owBfMC25zZkXyTYwcepeLjP0WP4+fzYgWysKiG/swWXW+opOmUDQsM05p
iFsuyrY0Pcbc1UDt2WSoPxX3Zxjid3bujEtX6/zzRRGyONgJQShhzPOkp4IRJOQo
8Q5PhX1utq8o0zvpqVsa+Bv2kJqNAkcWzFrYk+WDHhONPnPuIyMfO+85XFuyFmjI
iQd1Hsc5hqMLTQCYbPcE7abc4TFIduD3SE94tNSe6puU/FK93LO1vclXS5zYZoIZ
g/7vtu95OhTefIprMq2TLOCZq321iWAt52XCp4SvZfCAcnQKkPrbLDTNXkVsQh0I
VoDZgeZF1uBPIWsEPXSxW2rPGhPgpHuPqZGwE1B9i86Vj3Ly8/Q=
=9a+J
-----END PGP SIGNATURE-----