64ビットシステムで最も単純な(int main(){}
)プログラムでさえコンパイルしようとすると-m32
失敗します。
$ gcc -m32 test.c
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
-m32
が指定されている場合、間違ったディレクトリを誤って検索しているようです。
libgcc-4.8-dev:i386
がインストールされ、32ビットライブラリがにあることを確認しました/usr/lib/gcc/i686-linux-gnu/4.8/
。
設定とエクスポートLD_INCLUDE_PATH
を試みましたLD_LIBRARY_PATH
が、役に立ちませんでした。
関連:64ビットLinuxバージョンでgccを使用して32ビットアプリケーションをコンパイルする
—
方法-kenorb