Bug 66222 - linking with libbfd isn't compatible across minor releases
linking with libbfd isn't compatible across minor releases
Product: Red Hat Linux
Classification: Retired
Component: binutils (Show other bugs)
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Depends On:
  Show dependency treegraph
Reported: 2002-06-06 11:29 EDT by David Mansfield
Modified: 2008-05-01 11:38 EDT (History)
0 users

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

Attachments (Terms of Use)

  None (edit)
Description David Mansfield 2002-06-06 11:29:27 EDT
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 07:59:22 EDT
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.