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
This will be probably fixed in better search of libs in tk package.
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 "?".
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
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
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