This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: Build IDs for finding packages
- From: Mark Wielaard <mjw at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Sat, 26 Jan 2013 21:34:39 +0100
- Subject: Re: Build IDs for finding packages
On Fri, Jan 25, 2013 at 07:02:53PM +0100, Mark Wielaard wrote:
> For Fedora there is Darkserver https://darkserver.fedoraproject.org/
I should have mentioned two other techniques which work at least
on Fedora (and derived) systems:
If you have a build-id then getting the debuginfo package can be done
by trying to install the build-id derived symlink. For example given
build-id 8bd8064a80f57906f7e21504f13a86110cdb4535:
$ yum --enablerepo=fedora-debuginfo install /usr/lib/debug/.build-id/8b/d8064a80f57906f7e21504f13a86110cdb4535.debug
Will install zlib-debuginfo-1.2.7-9.fc18.x86_64. That package contains
/usr/lib/debug/.build-id/8b/d8064a80f57906f7e21504f13a86110cdb4535.debug
which is a symlink to /usr/lib/debug/usr/lib64/libz.so.1.2.7.debug
(Note the slash after the first two hex-digits of the build-id.)
This only works for the latest/updated release and only for the primary
architecture. But this is often what you want if you are working on
the machine itself. gdb and systemtap for example will suggest that
when they need symbol/debug info for a build-id for which the debuginfo
package hasn't been installed yet.
Another option (that systemtap will use for unprivileged users) when
abrt is installed (abrt is a crash catcher installed by default on fedora)
is to use:
echo 8bd8064a80f57906f7e21504f13a86110cdb4535 \
| abrt-action-install-debuginfo --ids=- --cache=/tmp
That will install the same debuginfo package files under /tmp/
Cheers,
Mark