Bug 54699 - shared objects, compiled with libtcl, have wrong soname
Summary: shared objects, compiled with libtcl, have wrong soname
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: tcltk (Show other bugs)
(Show other bugs)
Version: 7.3
Hardware: i386 Linux
medium
medium
Target Milestone: ---
Assignee: Jens Petersen
QA Contact: David Lawrence
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-10-16 16:30 UTC by Leonid Kanter
Modified: 2007-04-18 16:37 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-01-16 08:12:09 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

Description Leonid Kanter 2001-10-16 16:30:29 UTC
Description of Problem:

shared objects, compiled with libtcl, have wrong soname. As a result,
package postgresql-tcl provides libtcl.so.0, that actually belongs to tcl.

[root@leon leon]# rpm -q --whatprovides libtcl.so.0
tcl-8.3.3-65
tcl-8.3.3-65
postgresql-tcl-7.1.3-2

[root@leon leon]# rpm -qf `locate libtcl.so.0`
tcl-8.3.3-65

Looks like the problem is in tcl-8.3.3-makecfg.patch:

-               SHLIB_LD="${CC} -shared"
+               SHLIB_LD="${CC} -shared -Wl,-soname,libtcl.so.0"


I built scotty myself, and it provides libtcl.so.0 too.

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

tcl-8.3.3-65

Comment 1 Eido Inoue 2001-10-17 17:35:26 UTC
The hard-coded soname is getting put in the tclConfig.sh script, so that every
program that builds there own private/extended tcl interpreter gets the same
soname, which the loader finds.

Removing the -Wl,soname from the tclConfig and keeping it in the tcl Makefile
only will fix the problem.


Comment 2 Jens Petersen 2002-12-10 08:04:11 UTC
In tcltk-8.3.5-76 and later, the upstream library naming
is now being used (ie libtcl8.3.so, libtk8.3.so).
However for the time being there a 8.0 compatibility symlinks
left in (libtcl.so.0 -> libtcl8.3.so, etc).  These will
probably be removed later.  The above mentioned makecfg hardcoding
patches are no longer included.

Comment 3 Jens Petersen 2003-01-16 08:12:09 UTC
DT_SONAMES were added to tcltk libs in 8.3.5-84 btw.
The aforementioned symlinks are now libtcl.so -> libtcl8.3.so, etc. 


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