automake 構成スクリプトを使用して、64 ビット CentOS システムで静的にリンクされた GNU x86 バイナリを構築しようとしています。静的 64 ビット バイナリと動的 32 ビットを問題なくビルドできますが、静的 32 ビット バイナリをビルドする方法がわかりません。
次のconfigureコマンドを試しました:
./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.
-m32 を CFLAGS、CXXFLAGS、および LDFLAGS に渡す 32 ビット バイナリだけをビルドしようとすると、正常に動作します。
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
しかし、libstdc++ の 32 ビット バージョンと 64 ビット バージョンの両方がインストールされています。
助言がありますか?