From: Rob (spamrefuse_at_yahoo.com)
Date: Sun Dec 13 2009 - 18:33:35 CST

On Fri Dec 11 2009 John Stone wrote:
>
> Run the program "locale",
> ...
> Just out of curiosity: Does your machine have a stock Tcl/Tk installation
> that came with your distro installed on it, and if so, what happens if
> you run "wishx", and is your "wishx" 32-bit or 64-bit? (you can find
> out what ABI a program was compiled with by using the "file" command,
> e.g. file /usr/bin/wishx)

Here's what I get:

On both 32bits and 64bits PCs I get this:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

This helped me to kind of "fix" the /usr/local/vmd script as follows
(this is a 'diff -u' output between original and fixed script):

--- vmd 2009-12-14 08:45:11.149317764 +0900
+++ vmd_fixed 2009-12-14 09:00:15.795411653 +0900
@@ -391,6 +391,7 @@
 # "env LD_LIBRARY_PATH=$LD_LIBRARY_PATH $MASTERVMDDIR/$execname" $* &
 # endif
 # else
+ setenv LANG en_US
     $vmdprefixcmd "$MASTERVMDDIR/$execname" $*
 # endif
 endif

-------------------

(Note: when the "LANG" setting is changed, then somehow also all the
other LC_* settings are getting the same value as LANG).

With this modification to the vmd script, vmd 1.8.7 is OK on my 64bits system!
Again: this fix is only necessary on my 64bits system with vmd 1.8.7;
the 32bits system runs 1.8.7 out-of-the-box!

Here's what I get on my 64bits system:
  $ rpm -qa | grep "tcl-8"
  tcl-8.5.7-4.fc12.x86_64

  $rpm -qa | grep "tk-8"
  tcl-8.5.7-4.fc12.x86_64

  $ file /usr/bin/wish8.5
   /usr/bin/wish8.5: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
   dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

There's no 'wishx', but the 'wish' program opens a small grey window and
the terminal has the "%" prompt: So it seems that tcl/tk/wish do not have a
problem with my 'unusual' locale, but vmd on 64bits does....!?!

Do you understand this situation?
Can you reproduce the bug on a 64bits system by modifying your own locale?
Let me know if I have to do further test to bring this bug to the surface.....

---
......and apparently it's not the X11 driver that causes the segfault, because
with the above fix I run vmd 1.8.7 with the nouveau driver for nVidia card
(no proprietary driver necessary!).
Rob.