Bug 428254 - Having both tix.86_64 and tix.i386 installed wish errors with wrong ELF class: ELFCLASS32
Summary: Having both tix.86_64 and tix.i386 installed wish errors with wrong ELF class...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: tcl
Version: 5.3
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Marcela Mašláňová
QA Contact: BaseOS QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-01-10 12:36 UTC by Adam Stokes
Modified: 2018-10-20 02:13 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-04-08 07:48:01 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
patch (456 bytes, patch)
2009-02-07 12:59 UTC, ritz
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2009:0414 0 normal SHIPPED_LIVE tcl bug fix update 2009-04-08 07:47:57 UTC

Description Adam Stokes 2008-01-10 12:36:33 UTC
Description of problem:
Attempting to write a Tk script when both Tix x86_64 and i386 installed 
exhibit this error :

 package require Tix
 puts "Hello world"

Error in startup script: couldn't load 
file "/usr/lib/Tix8.4/libTix8.4.so": /usr/lib/Tix8.4/libTix8.4.so: wrong ELF 
class: ELFCLASS32
    while executing
"load /usr/lib/Tix8.4/libTix8.4.so Tix"
    ("package ifneeded" script)
    invoked from within
"package require Tix"
    (file "x.tk" line 1)


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

How reproducible:
Everytime

Steps to Reproduce:
1. Use above 2 line script
2. run with wish -f x.tk
3. Make sure to have both x86_64 and i386 version of Tix installed
  
Actual results:
Error in startup script: couldn't load 
file "/usr/lib/Tix8.4/libTix8.4.so": /usr/lib/Tix8.4/libTix8.4.so: wrong ELF 
class: ELFCLASS32
    while executing
"load /usr/lib/Tix8.4/libTix8.4.so Tix"
    ("package ifneeded" script)
    invoked from within
"package require Tix"
    (file "x.tk" line 1)


Expected results:
Dialog box appears with hello world.

Additional info:
Please note this problem is fixed by removing i386 package, and this looks to 
only happen on multilib systems.

Also note that RHEL4 only installs the x86_64 version of Tix and not both.

Thanks

Comment 1 Marcela Mašláňová 2008-03-06 09:04:09 UTC
This will be probably fixed in better search of libs in tk package.

Comment 2 RHEL Program Management 2008-07-21 23:07:31 UTC
This request was evaluated by Red Hat Product Management for
inclusion, but this component is not scheduled to be updated in
the current Red Hat Enterprise Linux release. If you would like
this request to be reviewed for the next minor release, ask your
support representative to set the next rhel-x.y flag to "?".

Comment 3 ritz 2009-02-07 12:46:28 UTC
I believe this is an issue with auto_path, as set by tcl on x86_64

# tclsh
% set auto_path
/usr/share/tcl8.4 /usr/share /usr/lib /usr/lib64

if need to set auto_path to the value below, the script works fine.
/usr/share/tcl8.4 /usr/share /usr/lib64

Comment 4 ritz 2009-02-07 12:59:52 UTC
Created attachment 331193 [details]
patch

From library/init.tcl

namespace eval tcl {
...
    set Dir [file join [file dirname [file dirname \
            [info nameofexecutable]]] lib]
    if {[lsearch -exact $::auto_path $Dir] < 0} {
        lappend ::auto_path $Dir
    }

The above code adds the path. removing the same fixes the issue. I do not see any particular purpose for the above code.

-- ritz

Comment 17 errata-xmlrpc 2009-04-08 07:48:01 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0414.html


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