Linux Tcl/Tk-在LSF机器上运行时出现SEGFULT

Linux Tcl/Tk-在LSF机器上运行时出现SEGFULT,linux,x11,tk,Linux,X11,Tk,我正在使用Tcl/Tk开发一个gui应用程序。我能够在本地机器上运行gui应用程序,但在LSF机器上运行时失败 [local] % rs -gui 很好。但以下几点失败了: [local] % bsub -q xyz -Is /bin/csh [lsf01] % rs -gui Segmentation fault 我在gdb中加载了可执行文件,得到了以下跟踪。关于如何解决这个问题有什么想法吗 Program received signal SIGSEGV, Segmentation

我正在使用Tcl/Tk开发一个gui应用程序。我能够在本地机器上运行gui应用程序,但在LSF机器上运行时失败

[local] % rs -gui 
很好。但以下几点失败了:

[local] % bsub -q xyz -Is /bin/csh

[lsf01] % rs -gui 
Segmentation fault
我在
gdb
中加载了可执行文件,得到了以下跟踪。关于如何解决这个问题有什么想法吗

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1431984992 (LWP 8403)]
0x08932674 in _XimCheckIfLocalProcessing ()
(gdb) bt
#0  0x08932674 in _XimCheckIfLocalProcessing ()
#1  0x089326e8 in _XimCheckIfLocalProcessing ()
#2  0x089326d8 in _XimCheckIfLocalProcessing ()
#3  0x089326e8 in _XimCheckIfLocalProcessing ()
#4  0x08932715 in _XimLocalIMFree ()
#5  0x089294a2 in _XimOpenIM ()
#6  0x089043de in XOpenIM ()
#7  0x088a2155 in TkpSync ()
#8  0x088a1c21 in TkpOpenDisplay ()
#9  0x0883578d in Rechan_Init ()
#10 0x00000000 in ?? ()
编辑1:在本地和lsf计算机上的可执行文件上运行
ldd
后添加信息

[local] % ldd rs
    linux-gate.so.1 =>  (0xffffe000)
    libdl.so.2 => /lib/libdl.so.2 (0x005a2000)
    libtermcap.so.2 => /lib/libtermcap.so.2 (0x00681000)
    libnsl.so.1 => /lib/libnsl.so.1 (0x005fe000)
    libpthread.so.0 => /lib/tls/libpthread.so.0 (0xf7fb9000)
    libutil.so.1 => /lib/libutil.so.1 (0x006a7000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0xf7f8a000)
    librt.so.1 => /lib/tls/librt.so.1 (0xf7f76000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00695000)
    libelf.so.1 => /usr/lib/libelf.so.1 (0xf7f65000)
    libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x0097a000)
    libm.so.6 => /lib/tls/libm.so.6 (0x0057d000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x005a8000)
    libc.so.6 => /lib/tls/libc.so.6 (0x0044f000)
    /lib/ld-linux.so.2 (0x00430000)

[lsf] % ldd rs
    linux-gate.so.1 =>  (0xffffe000)
    libdl.so.2 => /lib/libdl.so.2 (0x00505000)
    libtermcap.so.2 => /lib/libtermcap.so.2 (0x55579000)
    libnsl.so.1 => /lib/libnsl.so.1 (0x00562000)
    libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00530000)
    libutil.so.1 => /lib/libutil.so.1 (0x008fc000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x0062e000)
    librt.so.1 => /lib/tls/librt.so.1 (0x5557e000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00544000)
    libelf.so.1 => /usr/lib/libelf.so.1 (0x55592000)
    libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x006c5000)
    libm.so.6 => /lib/tls/libm.so.6 (0x0050b000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00556000)
    libc.so.6 => /lib/tls/libc.so.6 (0x003d7000)
    /lib/ld-linux.so.2 (0x003bd000)

您可以使用
ldd
查看两种环境中的库是否不同。(如果
rs
是脚本,那么在
#!
行中的解释器上运行ldd。)@Andy谢谢。我编辑了我的帖子以添加
ldd
info。两台机器的输出几乎相同。您使用的是哪个版本的Tk?你已经静态链接了它,所以我无法从ldd输出中分辨出来。@Donal和@Andy我发现了问题所在。我在64位机器上运行32位可执行文件(
lsf
),我遇到了这个问题。当我在这个64位机器(
lsf
)上运行一个64位可执行文件时,它工作得很好。谢谢你的帮助,真奇怪!我想知道图书馆里到底发生了什么。(但这还不足以让我看起来很正常;XIM的东西完全不透明,让我很害怕。)