Our machine was in SUSE Linux Enterprise Server 11 SP4 until when we recently moved to SUSE Linux Enterprise Server 12 SP3.
Our C++ tools were compiling without any problem on SuSe 11. But when we compile the tools in SuSe 12, we are having below linker error:
/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
After some exploration, I came to know that compilation is successful with 64 bit. But I want the binaries in 32 bit.
I know that the linker is searching for the file libXm.so
, libXt.so
, libX11.so
but unable to find the right file.
The following page from SuSe tells that there is no support of x86 from SuSe12 onwards: https://www.suse.com/products/server/download
When I checked those files in SuSe 11 SP4, it was available as:
/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
In SuSe 12, these .so
are not available under /usr/lib
. But libXm.so.4.*
or libXt.so.6.*
or libX11.so.6.*
are present under /usr/lib
. Its only the softlink from these files to .so
are missing (not available).
So how do I overcome this problem in this environment?