Bug 66222 - linking with libbfd isn't compatible across minor releases
Summary: linking with libbfd isn't compatible across minor releases
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: binutils
Version: 7.3
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
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:
Clone Of:
Environment:
Last Closed: 2002-06-06 15:29:33 UTC
Embargoed:


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-2.11.90.0.8.so: cannot
open shared object file: No such file or directory

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

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:
Always

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.2.11.93.0.2,
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.