Bug 428254 - Having both tix.86_64 and tix.i386 installed wish errors with wrong ELF class: ELFCLASS32
Having both tix.86_64 and tix.i386 installed wish errors with wrong ELF class...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: tcl (Show other bugs)
5.3
All Linux
medium Severity medium
: rc
: ---
Assigned To: Marcela Mašláňová
BaseOS QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-01-10 07:36 EST by Adam Stokes
Modified: 2013-04-12 15:30 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-04-08 03:48:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Adam Stokes 2008-01-10 07:36:33 EST
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 04:04:09 EST
This will be probably fixed in better search of libs in tk package.
Comment 2 RHEL Product and Program Management 2008-07-21 19:07:31 EDT
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 07:46:28 EST
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 07:59:52 EST
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 03:48:01 EDT
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.