From: <no...@so...> - 2001-03-25 16:14:48
|
Bugs item #220946, was updated on 2000-10-31 17:31 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=112997&aid=220946&group_id=12997 >Category: Generic Fonts Group: 8.3.2 Status: Open Priority: 5 Submitted By: Brent B. Welch (welch) Assigned to: Nobody/Anonymous (nobody) Summary: Tcl/Tk 8.3.2 on SCO OpenServer. Initial Comment: OriginalBugID: 6186 Bug Version: 8.3.2 SubmitDate: '2000-08-31' LastModified: Severity: SER Status: UnAssn Submitter: techsupp OS: Other OSVersion: SCO OpenServer 5.0.5 Machine: Dell PowerEdge 2300 Name: Krzysztof Hrebeniuk Extensions: TclX 8.2.0 ObservedBehavior: Tcl/Tk 8.3.2 on SCO OpenServer 5.0.5 - some observations. 1. Compilation ---------- I use gcc ver. 2.95.2pl1 from Skunkware 99 distribution. tclsh and wish compiles OK with --enable-shared (default) option, but during compilation phase LD_RUN_PATH should be set to /usr/local/lib - if this is the place where libtcl8.3.so will be installed (if it was not set, LD_LIBRARY_PATH has to be set properly before executing tclsh or wish - in other case dynamic linker will complain). Before running configure in tk8.3.2 source tree, CC variable has to be set to gcc. When configure script finishes, Makefile has to be edited and variable X11_LIB_SWITCHES has to be changed from -L/usr/lib -lX11, to -lX11. If it's not changed, wish will crash with "Memory fault - core dumped" error. In this case gdb informs that "Program received signal SIGSEGV, segmentation fault (...) from /usr/lib/libc.so.1". Compilation with --disable-shared option, makes useable executables without any difficulties. But in both cases I received warnings concerning "implicit declaration of strcasecmp" and strncasecmp. Without regard of compilation method (shared or not), wishx 8.2 dumps core when application main window is destroyed using windows manager control menu button ("called Tcl_FindHashEntry on deleted table"). Instead of using wishx, I use wish and then "package require Tclx 8.2" inside script. 2. Polish locale and problems with wish ---------------------------- My LANG variable is set to pl_PL.ISO8859-2. a) Basic problem In this locale, decimal separator is "," (comma). The following command is valid under tclsh: % expr 4.5 * 3.2 14.4 and this one is invalid: % expr 4,5 * 3,2 syntax error in expresion "4,5 * 3,2" And this is OK - in other case all known scripts should be specially "localized". But under wish none of this command is valid! I always receive syntax error. wish is completely unusable - I'm even not able to drag a slider on a scrollbar: "Error: can't use non-numeric string as operand of "+"". This behaviour is not specific to 8.3.2 distribution nor compiler used - I first observed this in tk 7.4p2 compiled with SCO Development System. The only way out is to set LANG to another value, for example en_US.ISO8859-1 or C_C.C, or at least do the following in the first three lines of a script: #!/bin/sh # LC_NUMERIC=C_C.C;export LC_NUMERIC;exec wish "$0" "$@" b) Fonts problem Untill now I was using tcl/tk/tclx 8.0.4 and following commands worked as expected: set helv {-adobe-helvetica-bold-r-normal--12-*-*-*-*-*-iso8859-2} button .b -text "Po³±cz" -font $helv -command polaczCB In the word "Po³±cz" (in english: Connect) letter ³ has number 0xb3 and letter ± has number 0xb1 in ISO8859-2 charset. Dynamically linked wish ----------------- Now, instead of "³" I see "greater or equal" sign and instead of "±" plusminus sign. First I thought that instead of iso8859-2 charset, iso8859-1 is used - plusminus sign has 0xb1 number. But what charset "greater or equal" sign come from? In iso8859-1 charset, there is threesuperior sign on position 0xb3. xset -q command shows that in Font Path all my ISO8859-2 characters are before ISO8859-1 ones. Command "encoding system" returns "identity" (what does it mean?). Executing command: encoding system iso8859-2 doesn't change anything. Statically linked wish --------------- Everything works as expected. Command: encoding system returns iso8859-2. Fonts are displayed corectly assuming that only LC_NUMERIC is set to C_C.C, not LANG - in this case I always get "greater or equal". There is even no need to specify that iso8859-2 characters have to be used - they are used by default. DesiredBehavior: I would like to be able to use dynamically linked version of tcl/tk - it concerns fonts problems described above. There should be no need to use a trick with LC_NUMERIC variable - i.e. locale pl_PL.ISO8859-2 should be recognized and supported. ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2000-11-19 04:18 Message: I don't like these "loads of different things" bug reports, since it is very difficult to close them off or ensure that all the right people get to see them. :^( However, it strikes me that the most serious problems are i18n-related, so I'll assign it to that group though these seem to be interacting with build issues as well. Urgle. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=112997&aid=220946&group_id=12997 |