On 2026-08-11 13:56:48 -0400, Jay Berkenbilt wrote:
> 
> 
> On Tue, Aug 11, 2026, at 12:35 PM, Chris Hofstaedtler wrote:
> > * Jay Berkenbilt <[email protected]> [260811 17:26]:
> > >On Tue, Aug 11, 2026, at 11:03 AM, Sebastian Ramacher wrote:
> > >> On 2026-08-11 10:48:05 -0400, Jay Berkenbilt wrote:
> > >> > On Tue, Aug 11, 2026, at 10:32 AM, Sebastian Ramacher wrote:
> > >> > > On 2026-08-11 16:01:02 +0200, Chris Hofstaedtler wrote:
> > >> > > > I'm not the expert, but  the libcupsfilter log says:
> > >> > > > https://ci.debian.net/packages/libc/libcupsfilters/testing/arm64/74208469/
> > >> > > > /usr/bin/aarch64-linux-gnu-ld.bfd: 
> > >> > > > /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libcupsfilters.so:
> > >> > > > undefined reference to `std::__cxx11::basic_string<char,
> > >> > > > std::char_traits<char>, std::allocator<char> 
> > >> > > > >::_M_replace(unsigned long,
> > >> > > > unsigned long, char const*, unsigned long)@LIBQPDF_30'
> > >> > >
> > >> > > These symbols should have never existed in the first place. These are
> > >> > > symbols from template instantiations of the standard library that
> > >> > > shouldn't have gained a LIBQPDF_30 symbol version. Did upstream 
> > >> > > clean up
> > >> > > their build system to no longer export those symbols with that symbol
> > >> > > version?
> > 
> > [..]
> > 
> > >> > Right. I don't want to do a major version bump...this isn't really an
> > >> > ABI change to qpdf though it is an ABI change to the debian packaged
> > >> > qpdf library binary. I'll either have to change the soname in the
> > >> > debian package until my next version bump using a suffix or something
> > >> > or else, well, I'm not sure actually. I guess in the meantime, I
> > >> > should revert by uploading a 12.4.0.1~really-12.3.2 or something. It's
> > >> > been years since I've had anything other than a completely routine
> > >> > upload. Is this a sensible approach for now?
> > [..]
> > 
> > >> We also had changes in the toolchain since the upload of 12.3.2-1. If
> > >> this aspect did not change in qpdf, this could also be change in the
> > >> toolchain. So before suggesting any actions, I would like to understand
> > >> where it is coming from. A rebuild of 12.3.2 may suffer the same issue.
> > >
> > >It may be a couple of days before I can dig into this, but I'll try to
> > >find time as soon as possible. I have automation in CI for qpdf that
> > >dumps the symbols and compares so that accidental ABI breakage is
> > >supposed to be impossible. I may filter on standard library, so I may
> > >have shot myself in the foot. I will be able to tell for sure though
> > >whether a local build of 12.3.2 and 12.4.0 on the same system behave
> > >correctly with respect to exported symbols. Right now, if I determine
> > >that I have accidentally done something to make this get tagged and it
> > >disappeared, I'll do something to make it reappear and fix it for real
> > >with qpdf 13.0.0. If it turns out to be a debian toolchain issue, I'll
> > >stand by. I'll reply to this bug report when I have some information,
> > >and if I determine that it's my mistake and I can fix it, then I'll
> > >upload a fix and close the bugs in the changelog.
> > 
> > Indeed rebuilding qpdf 12.3.2-1 in unstable causes _M_replace and 
> > other (weak) symbols to disappear from @LIBQPDF_30.
> > 
> > Best,
> > Chris
> 
> So then this sounds like a toolchain issue on the debian side? Come to
> think of it, when I released 12.3.2, there was some churn on the
> toolchain, and I was unable to build in my local chroot -- binutils
> had been updated about four hours earlier. I waited a few days and
> tried again, and it was successful...but perhaps my previous upload
> was timed poorly, and I got stuck with a tooling issue.
> 
> If I'm reading your response correctly, the solution would be to
> rebuild qpdf's downstream dependencies perhaps a rebuild 12.3.2 and
> then see if the 12.4.0 transition is able to go? Let me know if
> there's anything I need to do on my side. Thanks for the quick
> responses in looking into this issue.

Could you check whether libqpdf30 in stable exported the std:: symbols
with @LIBQPDF_30? Thanks

Cheers
-- 
Sebastian Ramacher

Reply via email to