Как настроить GNU Autotools для компиляции программы в 32-битном режиме на Centos7? - PullRequest
0 голосов
/ 17 марта 2020

Я делаю все это на VLE, ​​и ниже я работаю с:

Запуск ОС: Linux Centos 7

G CC: 4.8.5 & 7.1.0

Я пытаюсь использовать GNU autotools (libtool, autoconf, automake) для создания проекта в 32-битной среде, используя gcc-7.1.0. Также, как требование, я должен сделать это на Centos 7 и использовать gcc-7.1.0.

По-видимому, последняя версия gcc, которая может быть официально обновлена ​​с помощью yum, - это 4.8.5. Тем не менее, я успешно установил g cc -7.1.0 из официального источника и даже включил --enable-multiarch --with-list-multilib=m32,m64 --enable-multilib во время configure.

Проблема, с которой я сталкиваюсь, заключается в том, что autotools, кажется, хочет использовать 64-битные библиотеки, хотя я включаю ключ компилятора -m32 в CXXFLAGS, CFLAGS и LDFLAGS. Причина, по которой я думаю, что при подключении используются 64-битные библиотеки, заключается в том, что я получаю следующую ошибку:

libtool: link: g++ -m32 -fPIC -Wall -Wextra -Weffc++ -Werror -std=c++03 -O2 -o fldprog fldprog-icpprog.o  ../../                                                                                                                                                                 ../seal3/fld/src/.libs/libbsp_fld.a -lpci /usr/local/lib/../lib64/libstdc++.so -lm -Wl,-rpath -Wl,/usr/local/lib                                                                                                                                                                 /../lib64 -Wl,-rpath -Wl,/usr/local/lib/../lib64
/usr/local/lib/../lib64/libstdc++.so: error adding symbols: File in wrong format

и при переименовании /usr/local/lib64 в lib64_something, программа будет компилировать без ошибок. Тем не менее, я хочу найти постоянное решение.

Я искал в inte rnet ответы, но ни один из них, похоже, не работает. Я пробовал включить - от L/usr/local/lib до AM_LDFLAGS, AM_CFLAGS в configure.ac

Буду признателен за любой вклад. Спасибо.

Редактировать: Исправлено

...