2013-07-15 102 views
0

我已經從源代碼安裝了gcc-4.6.2,但它不能構建32位程序,它似乎沒有32位lib。通過gcc錯誤報告:gcc無法在64位RHEL6中構建32位程序?

/usr/local/gcc-4.6.2/lib/gcc/x86_64-redhat-linux/4.6.2/crtbegin.o: could not read symbols: File in wrong format 

my gcc-4.6.2配置爲:

Target: x86_64-redhat-linux 
Configured with: ../gcc-4.6.2/configure --prefix=/usr/local/gcc-4.6.2 --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-1.0.1 --without-ppl --without-cloog --with-arch-32=i686 --build=x86_64-redhat-linux --disable-multilib 

Thread model: posix 

回答

1

配置和構建GCC有:

 
--enable-multilib --with-multilib-list=m32,m64 

一旦你安裝了它,你就可以通過編譯爲32位將「-m32」選項傳遞給gcc。請注意,您還需要所有需要的庫的32位版本(如glibc)。