Bug 54699

Summary: shared objects, compiled with libtcl, have wrong soname
Product: [Retired] Red Hat Linux Reporter: Leonid Kanter <leon>
Component: tcltkAssignee: Jens Petersen <petersen>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: notting
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
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: --- Target Upstream Version:
Embargoed:

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.