Hello Sebastian,

Thank for the detailed bug report.  I will work with the upstream author
to add the symbols file and the binNMU.

Thank you,
tony

On Mon, Oct 05, 2026 at 11:18:52PM +0200, Sebastien Bacher wrote:
> Package: libbobcat6
> Version: 6.15.01-1
> Severity: serious
> Justification: Policy 8.6.2 (ABI change without soname bump), breaks
> filtermail
> Control: affects -1 filtermail
> 
> Hi,
> 
> Between 6.11 and 6.15, bobcat removed the out-of-line special member
> functions of FBB::Pattern. In 6.11 these were defined in
> pattern/destructor.cc,
> destroy.cc, etc.; in 6.15 the class no longer declares them, so they are
> implicitly generated in each user. The library soname is still
> libbobcat.so.6,
> so binaries built against the older headers still reference the old symbols,
> and some of those are no longer exported by libbobcat.so.6.15.01.
> 
> In total, 37 dynamic symbols exported by 6.11.00 are gone in 6.15.01,
> among them:
> 
>    FBB::Pattern::Pattern(FBB::Pattern&&)
>    FBB::Pattern::operator=(FBB::Pattern&&)
>    FBB::Pattern::operator=(FBB::Pattern const&)
>    FBB::Pattern::copy(FBB::Pattern const&)
>    FBB::Pattern::destroy()
> 
> Impact in unstable/forky: filtermail 1.07.01-1 (built in April against an
> older libbobcat-dev) is linked with BIND_NOW and does not start with
> libbobcat6 6.15.01-1:
> 
>    $ filtermail --help
>    filtermail: symbol lookup error: filtermail: undefined symbol:
> _ZN3FBB7PatternaSEOS0_
> 
> (_ZN3FBB7PatternaSEOS0_ = FBB::Pattern::operator=(FBB::Pattern&&))
> 
> I checked the other packages linking libbobcat6 in unstable (bisonc++,
> flexc++,
> gpg-remailer, guncat, multispeech, natlog, oxref, simrisc, ssh-cron,
> stealth,
> xd). Against the Debian 6.15.01-1 library they currently only need weak
> references or symbols that are still exported, so filtermail is the only
> binary I found failing. That is partly luck: FBB::Pattern::~Pattern() is no
> longer defined in the 6.15 sources but is still exported by the Debian
> build.
> In Ubuntu, which builds with -flto=auto, ~Pattern() is not exported, and
> flexc++, bisonc++, gpg-remailer, oxref and stealth also fail with
> "undefined symbol: _ZN3FBB7PatternD1Ev".
> 
> A no-change rebuild of filtermail (and flexc++) against libbobcat-dev
> 6.15.01-1
> fixes this: the rebuilt binaries no longer reference those symbols and
> run fine.
> 
> Possible fixes:
>   - bump the soname (libbobcat7) for this ABI change, or
>   - binNMU the reverse dependencies (at least filtermail) and add
>     Breaks: filtermail (<< 1.07.01-1+b1) (and the others if needed) to
>     libbobcat6, so that old binaries cannot be combined with 6.15.
> A symbols file for libbobcat6 would help catch such changes in the future.
> 
> Thanks,

Reply via email to