libbfd changed name without transition

Bug #1603137 reported by Julian Taylor on 2016-07-14
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
binutils (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Steve Langasek
linux (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned

Bug Description

[SRU Justification]
the latest binutils update in xenial to 2.26.1-1ubuntu1~16.04 changed the name of the libbfd library from: libbfd-2.26-system.so to libbfd-2.26.1-system.so
This apparently happened without transitioning all dependencies.
For example it broke the perf tool from the linux-tools-common package as it is still linked against the old libbfd name.

To reproduce run "perf" with linux >= 4.4.0-24.43 and binutils 2.26.1-1ubuntu1~16.04 and you get an cannot open libbfd-2.26-system.so error.

[Test case]
1. Install eztrace on 16.04.
2. Install binutils from xenial-updates.
3. Run 'eztrace'. Confirm that this fails with a library error.
4. Install binutils from xenial-proposed.
5. Run 'eztrace'. Confirm that this gives usage output instead of failing with a library error.

[Regression potential]
Packages which depend on libbfd-2.26-system.so are currently broken with the binutils in xenial-updates. No packages appear to have been built yet against the libbfd-2.26.1-system.so soname. Therefore the regression potential is minimal. The solution is intended to be compatible with both upstream sonames, so that any future packages which do rebuild against the 2.26.1 soname will have a versioned dependency on binutils (>= 2.26.1), binutils (<= 2.27).

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in binutils (Ubuntu):
status: New → Confirmed
dann frazier (dannf) on 2016-07-14
Changed in linux (Ubuntu):
status: New → Confirmed
Steve Langasek (vorlon) wrote :

The only change to the symbols in 2.26.1 is one dropped internal symbol (_bfd_*) and the soname change itself. It's appropriate to restore binary compatibility by providing both -2.26.1- and -2.26- names on disk.

I've uploaded this to yakkety as 2.26.1-1ubuntu2 and will do the same for xenial-updates - we definitely don't want to do an soname transition in SRU.

Changed in binutils (Ubuntu):
status: Confirmed → Fix Released
Changed in linux (Ubuntu):
status: Confirmed → Invalid
Changed in linux (Ubuntu Xenial):
status: New → Invalid
Steve Langasek (vorlon) on 2016-07-15
Changed in binutils (Ubuntu Xenial):
status: New → In Progress
assignee: nobody → Steve Langasek (vorlon)
Steve Langasek (vorlon) on 2016-07-15
description: updated

Hello Julian, or anyone else affected,

Accepted binutils into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/binutils/2.26.1-1ubuntu1~16.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in binutils (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed
Julian Taylor (jtaylor) wrote :

the update 2.26.1-1ubuntu1~16.04.1 correctly created the symlinks and the perf tool now works again and is still demangling c++ symbols correctly.
eztrace also starts but I did not test its functionality.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package binutils - 2.26.1-1ubuntu1~16.04.1

---------------
binutils (2.26.1-1ubuntu1~16.04.1) xenial; urgency=medium

  * debian/rules: 2.26.1 changed sonames for libbfd and libopcodes, but
    there were no changes to the public ABI. Add compatibility symlinks and
    revert the shlibs change. LP: #1603137.

 -- Steve Langasek <email address hidden> Thu, 14 Jul 2016 19:30:17 +0000

Changed in binutils (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for binutils has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers