Я пытаюсь создать двоичный файл GNU x86 со статической связью в 64-битной системе CentOS, используя скрипт automake configure. Я могу создать статический 64-битный двоичный файл и динамический 32-битный без проблем, но я не могу понять, как создать статический 32-битный двоичный файл.
Я пробовал следующую команду настройки:
./configure --build=i686-pc-linux-gnu CFLAGS='-static -m32' CXXFLAGS='-static -m32'
Но я получаю следующее сообщение об ошибке:
# ./configure --build=i686-pc-linux-gnu CFLAGS='-static -m32' CXXFLAGS='-static -m32'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking whether the C++ compiler works... no
configure: error: in `/tmp/iperf-2.0.5':
configure: error: C++ compiler cannot create executables
See `config.log' for more details.
Если я попытаюсь создать только 32-битный двоичный файл, передав -m32 в CFLAGS, CXXFLAGS и LDFLAGS, он будет работать нормально.
Из файла config.log я вижу:
configure:3104: $? = 1
configure:3124: checking whether the C++ compiler works
configure:3146: g++ -static -m32 conftest.cpp >&5
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
Но у меня установлены как 32-битная, так и 64-битная версии libstdc++.
Какие-либо предложения?