linux-tools: perf should link statically to libbfd
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Low
|
Unassigned | ||
Lucid |
Fix Released
|
Undecided
|
Stefan Bader | ||
Maverick |
Fix Released
|
Undecided
|
Stefan Bader | ||
Natty |
Fix Released
|
Undecided
|
Stefan Bader | ||
Oneiric |
Fix Released
|
Low
|
Unassigned |
Bug Description
SRU Justification:
Impact: By dynamically linking libbfd, it is not possible to have older versions of the perf tool installed (as there can only be one version of this lib). Also, Debian policy actually forbids depending on a certain version of the library).
Fix: Change the makefile to statically link libbfd. This is a Ubuntu specific change, though. Which unlikely will make it upstream.
Testcase: Check the perf version provided though the builders (it seems that building in chroots can cause builds not linking against libbfd at all as HAVE_CPLUS_DEMANGLE gets set). The ouput of ldd should not show libbfd.
---
Trying to install linux-tools-
Unpacking replacement linux-tools-
dpkg: dependency problems prevent configuration of linux-tools-
linux-
Version of binutils on system is 2.21.0.
dpkg: error processing linux-tools-
dependency problems - leaving unconfigured
Errors were encountered while processing:
linux-
This is because perf is dynamically linked to libbfd, and only one version of libbfd (in the binutils package) can be installed at a time. This makes it impossible to install linux-tools for more than one Ubuntu release onto the system at the same time, which is a hindrance to debugging for obvious reasons.
Please link perf statically against libbfd.
ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: linux-image-
ProcVersionSign
Uname: Linux 2.6.35-28-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: amd64
ArecordDevices:
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
Card0.Amixer.info:
Card hw:0 'Intel'/'HDA Intel at 0xf2520000 irq 47'
Mixer name : 'Intel IbexPeak HDMI'
Components : 'HDA:14f15069,
Controls : 14
Simple ctrls : 6
Card29.Amixer.info:
Card hw:29 'ThinkPadEC'
Mixer name : 'ThinkPad EC 6QHT30WW-1.11'
Components : ''
Controls : 1
Simple ctrls : 1
Card29.
Simple mixer control 'Console',0
Capabilities: pswitch pswitch-joined penum
Playback channels: Mono
Mono: Playback [on]
Date: Mon May 16 12:52:52 2011
HibernationDevice: RESUME=
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
MachineType: LENOVO 3249CTO
ProcEnviron:
LANGUAGE=en_US:en
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.52
SourcePackage: linux
UpgradeStatus: Upgraded to natty on 2011-03-24 (52 days ago)
WifiSyslog:
dmi.bios.date: 08/23/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6QET52WW (1.22 )
dmi.board.name: 3249CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 3249CTO
dmi.product.
dmi.sys.vendor: LENOVO
description: | updated |
Changed in linux (Ubuntu Lucid): | |
assignee: | nobody → Stefan Bader (stefan-bader-canonical) |
status: | New → In Progress |
Changed in linux (Ubuntu Maverick): | |
assignee: | nobody → Stefan Bader (stefan-bader-canonical) |
status: | New → In Progress |
Changed in linux (Ubuntu Natty): | |
assignee: | nobody → Stefan Bader (stefan-bader-canonical) |
status: | New → In Progress |
Changed in linux (Ubuntu Oneiric): | |
status: | Triaged → Fix Committed |
Changed in linux (Ubuntu Lucid): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Maverick): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Natty): | |
status: | In Progress → Fix Committed |
See also the binutils-dev package description, which explicitly forbids linking Debian packages dynamically with libbfd:
Package: binutils-dev
Description: The GNU binary utilities (BFD development files)
This package includes header files and static libraries necessary to build
programs which use the GNU BFD library, which is part of binutils. Note that
building Debian packages which depend on the shared libbfd is Not Allowed.
The same thing happened to oprofile several times until it was finally fixed to link libbfd statically (http:// bugs.debian. org/537744, http:// bugs.debian. org/573905, bug 426614, bug 588033).