Bug#1133510: kicad: ftbfs with GCC-16 — not reproducible with 10.0.4+dfsg-1 on amd64

Jascha Sundaresan <[email protected]>
Newsgroups gmane.linux.debian.devel.bugs.rc
Message-ID <CABy=B7EwmOfVJu+ZTmoC-yDe=_dnxwovKrNB5LeUmjsKN77zow__17199.2769510084$1786249996$gmane$org@mail.gmail.com>
Subject: Re: kicad: ftbfs with GCC-16 — not reproducible with 10.0.4+dfsg-1
on amd64

Hi,

I cannot reproduce this against 10.0.4+dfsg-1 on amd64.

I built the current unstable source in an sbuild schroot with GCC 16 and it
completed successfully:

  Toolchain package versions: binutils_2.47-2 dpkg-dev_1.23.7
  g++-16_16.1.0-3 gcc-16_16.1.0-3 libc6-dev_2.42-17
  libstdc++-16-dev_16.1.0-3 libstdc++6_16.1.0-3 linux-libc-dev_7.1.7-1

  Status: successful
  Build-Time: 23538

gcc/g++ resolved to 4:16.1.0-3 from unstable (no experimental pinning
needed, as unstable now defaults to GCC 16). Build options were
DEB_BUILD_OPTIONS="parallel=1 nocheck" with --no-arch-all, so the test
suite and the arch-all doc packages were not built; the arch-any build
itself was clean.

The failure reported against 9.0.8 was a link error in bitmap2component:

  libcommon.a(eda_base_frame.cpp.o): in function
  `KICAD_MANAGER_FRAME::GetCurrentFileName() const':
  kicad/kicad_manager_frame.h:86: undefined reference to
  `KICAD_MANAGER_FRAME::GetProjectFileName() const'

In 9.0.8, GetCurrentFileName() was defined inline in
kicad/kicad_manager_frame.h, calling GetProjectFileName(), which is only
implemented in the kicad/ application target. GCC 16 emitted an
out-of-line copy into eda_base_frame.cpp.o in libcommon, so every target
linking libcommon without the application objects failed.

In 10.0.4 that construct is gone. kicad/kicad_manager_frame.h:83 now has
only the declaration:

  wxString GetCurrentFileName() const override;

with the definition moved to the .cpp, so nothing in libcommon carries the
unresolved reference any more.

On that basis I think this can be closed, or the found version limited to
9.0.8 so that 10.0.4 is no longer marked affected and the pending
autoremoval from testing is cancelled.

One thing I have not verified: I only tested amd64.
tests.reproducible-builds.org
currently shows kicad 10.0.4+dfsg-1 as FTBFS on arm64 in both unstable and
forky, but those rebuilds ran with GCC 15, so whatever that is, it looks
like a separate issue rather than this one.

Happy to provide the full build log or re-run with different options if that
would help.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.