SUSE Linux Enterprise Server 12 SP3 中的链接器错误

SUSE Linux Enterprise Server 12 SP3 中的链接器错误

我们的机器原来使用 SUSE Linux Enterprise Server 11 SP4,直到最近我们才迁移到 SUSE Linux Enterprise Server 12 SP3。

我们的 C++ 工具在 SuSe 11 上编译没有任何问题。但是当我们在 SuSe 12 中编译工具时,我们遇到以下链接器错误:

/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../libXm.so when searching for -lXm     
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lXm                                                      
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../libXt.so when searching for -lXt  
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lXt                                                      
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../libX11.so when searching for -lX11  
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lX11

经过一番探索,我发现 64 位编译成功。但我想要 32 位的二进制文件。

我知道链接器正在搜索文件libXm.so,,libXt.solibX11.so无法找到正确的文件。

SuSe 的以下页面表明从 SuSe12 开始不再支持 x86:https://www.suse.com/products/server/download

当我在 SuSe 11 SP4 中检查这些文件时,它可用为:

/usr/lib/libXm.so -> libXm.so.4.0.1
/usr/lib/libXt.so -> libXt.so.6.0.0
/usr/lib/libX11.so -> libX11.so.6.2.0

在 SuSe 12 中,这些.so在 下不可用/usr/lib。但libXm.so.4.*libXt.so.6.*libX11.so.6.*在 下可用/usr/lib。只是这些文件到 的软链接.so缺失(不可用)。

那么我该如何在这种环境下克服这个问题?

相关内容