Наш компьютер находился в 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.so
, libX11.so
, но не может найти нужный файл.
На следующей странице SuSe говорится, что существуетнет поддержки x86 от SuSe12 и далее: 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
(недоступно).
Так как мне решить эту проблему в этой среде?