Bug 66222 - linking with libbfd isn't compatible across minor releases
Summary: linking with libbfd isn't compatible across minor releases
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: binutils   
(Show other bugs)
Version: 7.3
Hardware: i686 Linux
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 2002-06-06 15:29 UTC by David Mansfield
Modified: 2008-05-01 15:38 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2002-06-06 15:29:33 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description David Mansfield 2002-06-06 15:29:27 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.3 (X11; Linux i686; U;) Gecko/20020523

Description of problem:
i have a program compiled on redhat 7.2, and linked with libbfd.  It won't run
on 7.3 without a recompile due to a bad soname, or incompatible libbfd, one or
the other.  I get the following error message:

./eview: error while loading shared libraries: libbfd- cannot
open shared object file: No such file or directory

Indeed the libbfd is a different version in redhat 7.3: libbfd-

However, the major and minor version are the same.  This, in unix tradition,
means compatible.  

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.link program on red hat 7.2 to libbfd
2.copy to red hat 7.3 platform
3.try to run it

Actual Results:  fails to dynamically link

Expected Results:  should link

Additional info:

Comment 1 Jakub Jelinek 2002-06-07 11:59:22 UTC
Nope. As you can see, the version is not after .so, like libbfd.so.,
but before, which means the whole version is part of the SONAME (and for good
reason, libbfd is changing every few days and doesn't maintain binary
compatibility). In fact it is shared only so that it can be shared between
as, ld, nm, objdump, ar, strip, ... which all come from the same package.
If you need to use bfd in some application, you need to link it statically in
(e.g. -Bstatic -lbfd -Bdynamic) or be prepared for recompiling it every time
binutils are upgraded.

Note You need to log in before you can comment on or make changes to this bug.