Public bug reported:

bobcat 6.15.01-1 (stonking-proposed) removes exported symbols from
libbobcat.so.6 without a soname bump. Binaries built against older
libbobcat-dev fail to start with it.

Visible symptom: the flexc++ autopkgtest regression blocking bobcat:
  flexc++: symbol lookup error: flexc++: undefined symbol: _ZN3FBB7PatternD1Ev

Cause: up to 6.11, FBB::Pattern declared its destructor, copy/move
constructors and assignment operators, and the library defined them
(pattern/destructor.cc, destroy.cc, ...). In 6.15 the class no longer
declares them, so they are generated inline in each user, and 37 symbols
exported by 6.11 are gone in 6.15. Ubuntu builds bobcat with -flto=auto,
which also drops FBB::Pattern::~Pattern() from the exports. Debian's
non-LTO build of the same version still exports it (1951 vs 2406 dynamic
symbols).

Affected binaries (amd64; checked the undefined, non-weak FBB symbols of every 
libbobcat6 reverse dependency against the stonking-proposed library):
 * in proposed: flexc++ 2.19.00-1, filtermail 1.07.01-1
 * in release, broken once bobcat migrates: bisonc++ 6.09.02-1, gpg-remailer 
3.04.07-1build1, oxref 2.02.00-1build1, stealth 4.04.00-2build1
 * not affected: guncat, natlog, simrisc, ssh-cron, xd, multispeech

Fix: no-change rebuilds against libbobcat-dev 6.15.01-1, plus Breaks in 
libbobcat6 so the rebuilds migrate together with bobcat:
 Breaks: bisonc++ (<< 6.09.02-1build1), filtermail (<< 1.07.01-1build1), 
flexc++ (<< 2.19.00-1build1), gpg-remailer (<< 3.04.07-1build2), oxref (<< 
2.02.00-1build2), stealth (<< 4.04.00-2build2)

Tested in a stonking-proposed container: all six rebuild cleanly against
6.15. The rebuilt binaries reference no missing symbols, and flexc++,
bisonc++ and filtermail run. bobcat 6.15.01-1ubuntu1 with the Breaks
builds fine.

Upload order: bobcat must be published in proposed first, so that the
rebuilds build against 6.15. Then bisonc++, flexc++ (they build-depend
on each other; the release versions break with 6.15, see below),
filtermail, gpg-remailer, oxref and stealth.

Debian: the same ABI break affects unstable/forky. Debian's filtermail
1.07.01-1 fails to start with Debian's libbobcat6 6.15.01-1 (undefined
symbol: _ZN3FBB7PatternaSEOS0_,
FBB::Pattern::operator=(FBB::Pattern&&)). No Debian bug has been filed
yet.

** Affects: bisonc++ (Ubuntu)
     Importance: Undecided
         Status: Fix Committed

** Affects: bobcat (Ubuntu)
     Importance: Undecided
         Status: Triaged

** Affects: filtermail (Ubuntu)
     Importance: Undecided
         Status: Fix Committed

** Affects: flexc++ (Ubuntu)
     Importance: Undecided
         Status: Fix Committed

** Affects: gpg-remailer (Ubuntu)
     Importance: Undecided
         Status: Fix Committed

** Affects: oxref (Ubuntu)
     Importance: Undecided
         Status: Fix Committed

** Affects: stealth (Ubuntu)
     Importance: Undecided
         Status: Fix Committed

** Affects: bisonc++ (Debian)
     Importance: Unknown
         Status: Unknown


** Tags: update-excuse

** Tags added: update-excuse

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169636

Title:
  bobcat 6.15 drops exported symbols without soname bump; flexc++,
  filtermail and other reverse dependencies need rebuilds

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bisonc++/+bug/2169636/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to