2 Fatal Problems With Winesetuptk-0.73 (BOTH Sourceforge Release Formats)

Kenny Love freemage at korrnet.org
Tue Apr 27 01:46:08 CDT 2004


 In the Bugzilla system, including the search page, there is no mention of
Winesetuptk, so I can't tell whether the following bugs are new to you. 
 These two problems are of considerable import to aspiring Wine users,
particularly if they are running Red Hat Linux 6.2 or equivalent or older
(for the first item, Red Hat Linux 7.x or equivalent might also be
affected).  1.  The rpm'ed Winesetuptk binary currently posted on the
Sourceforge site, winesetuptk-0-73.i586.rpm, aborts on startup on a Red
Hat Linux 6.2 system with the message "winesetuptk: /lib/libc.so.6:
version `GLIBC_2.3' not found (required by winesetuptk)". I suspect this
means that the binary (maybe the Tcl/Tk/ITcl) is dynamically linked to
glibc 2.3, but Red Hat Linux 6.2 can only be easily upgraded to glibc
2.1.3-21; even Red Hat Linux 7.3 easily upgrades only to glibc 2.2.5-44,
so this might prohibit most Red Hat Linux installations older than 8.0
from running this binary. 
2. The scripts in the Winesetuptk tarball currently posted on the
Sourceforge site, /winesetuptk-0-73.tar.bz2, hang. When run "as scripts
directly" on a Red Hat Linux 6.2 system with Tcl 8.0.5-35 and ITcl
3.0.1-35 installed, after the program opens a window stating
"Autodetection in Progress", an error notice appears stating that map is
not a legal argument to the string function ("Error: bad option "map":
must be compare, first, index,"...). After the notice's "Ok" button is
pressed, the error notice box disappears, but the program quietly hangs,
ignoring attempts to close the remaining windows. Bash's kill command,
probably unknown to the novice, is required to exit the comatose program.
Also, on the launching shell window appears the message
"CBase::AutoConf:GetWinInstalls: unable to grep /dos/c/msdos.sys: child
process exited abnormally ". My /dos/c/ directory contains my dual-boot
Windows 3.1 system.
   In the tcl8.3.2 subdirectory, the "changes" file lists, between the
"8.1 final" and "8.1.1" headers, a "new features" entry dated 5/3/99
mentioning adding Jeff Hobbs' patches introducing, among others, a map
argument to the string function. The Sourceforge Winesetuptk-0.73 release
note states that at version 0.34b, all was successfully converted from
requiring Tcl 8.4 to using Tcl 8.0, so this map call appears to be a small
overlooked mouse with a show-stopping roar. I lack Tcl programming
experience, but the stack trace (see below) and 'grep'-ing the source tree
for potential "string_ map" calls seems to implicate
"winesetuptk-0.73/Enable8.0Compatibility.tcl", line 42 as the culprit; it
looks like there's no if-clause to handle $aCmd == "map". Here's the stack
trace:
bad option "map": must be compare, first, index, last, length, match,
range, tolower, toupper, trim, trimleft, trimright, wordend, or wordstart
    while executing "string_ map {{${WinDir}} windows} {${WinDir}/system}" 
    ("eval" body line 1) 
    invoked from within "eval string_ $aCmd [list $aStr] $args" 
    (procedure "string" line 26) 
    invoked from within "string map [list {${WinDir}} $WinDir] $SystemDir" 
    (object "::ObjBase" method "::CBase::AutoConf:GetWinInstalls" body
line 74) 
    invoked from within "AutoConf:GetWinInstalls $Drives" 
    (object "::ObjBase" method "::CBase::AutoConf" body line 39) 
    invoked from within "$pObjBase AutoConf" 
    ("GEN_NEW" arm line 6)
    invoked from within "switch [$pObjBase AccessCfgData
GET_KEY_VALUE_BY_NAME Cfg WhatToDo] {
    GEN_NEW {
      CMsgDialog ObjWaitMsg . .wait_msg "WineSetup" "Autodetection..." 
    (object "::ObjScrFileLoc" method "::CScrFileLoc::SetWineData" body
line 2) 
    invoked from within "SetWineData" 
    (object "::ObjScrFileLoc" method "::CScrFileLoc::SetResult" body line
58) 
    invoked from within "::ObjScrFileLoc SetResult NEXT" 
    (in namespace inscope "::CBaseScr" script line 1) 
    invoked from within "namespace inscope ::CBaseScr {::ObjScrFileLoc
SetResult NEXT}" 
    invoked from within ".f_scr.b_next invoke" 
    ("uplevel" body line 1) 
    invoked from within "uplevel #0 [list $w invoke]" 
    (procedure "tkButtonUp" line 8) 
    invoked from within "tkButtonUp .f_scr.b_next" 
    (command bound to event)
I'm going to try compiling the Winesetuptk-0.73 source from the tarball on
my system; hopefully that will produce a >working< binary dynamically
linked to glibc 2.1.3-21. Considering that most aspiring Wine users,
(Remember: Many, perhaps most of those are new to Linux itself.), are
currently steered by the Wine documentation to use the Winesetuptk program
with its nice, friendly GUI, those who took the time-honored route of
putting a Linux installation from second-hand CD's on an older, expendable
PC (which often limits one to a 6.2/7.0 version or less because 2.4
kernels can thrash too much on old hardware to be useful) may be in for a
big suprise when they try to graphically configure their wine.conf file.
  To summarize, the rpm binary release as-is probably won't start for
Linux versions older than Red Hat Linux 8.0 or equivalent and the tarball
release as-is hangs deviously when run "as scripts directly" on systems
with Tcl 8.0, possibly 8.1.0.
By the way, that rpm should have refused to install because the program
required a higher version glibc than my Linux system possesses, shouldn't
it?
Thanks!
Kenny

 A life spent making mistakes is not only more honorable, but more useful
than a life spent doing
nothing.   G. B. Shaw





More information about the wine-devel mailing list