【求助】ubuntu12.04LTS 64bit编译gcc-4.1.0错误
发表于 : 2014-12-17 21:19
虚拟机环境
平台:ubuntu 12.04 LTS 64bit
由于编译arm的交叉工具链需用到gcc-4.1.0版本, 因此下载源码编译一个。
遇到问题:在make的时候,报如下错误:
make[4]: Leaving directory `/usr/bin/gcc-4.1.0/host-x86_64-unknown-linux-gnu/gcc'
/usr/bin/gcc-4.1.0/host-x86_64-unknown-linux-gnu/gcc/xgcc -B/usr/bin/gcc-4.1.0/host-x86_64-unknown-linux-gnu/gcc/ -B/usr/bin/gcc-4.1.0/gcc-build/x86_64-unknown-linux-gnu/bin/ -B/usr/bin/gcc-4.1.0/gcc-build/x86_64-unknown-linux-gnu/lib/ -isystem /usr/bin/gcc-4.1.0/gcc-build/x86_64-unknown-linux-gnu/include -isystem /usr/bin/gcc-4.1.0/gcc-build/x86_64-unknown-linux-gnu/sys-include -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp [...中间省略部分输出信息...]mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: ld returned 1 exit status
make[3]: *** [libgcc_s.so] Error 1
上网搜索,得到建议:shell内手动指定路径 export LIBRARY_PATH=/usr/lib/i386-linux-gnu
重新make,仍有错误如下
/usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libc.a when searching for -lc
/usr/bin/ld: i386 architecture of input file `/usr/lib/i386-linux-gnu/crti.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/usr/lib/i386-linux-gnu/crtn.o' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status
make[3]: *** [libgcc_s.so] Error 1
我知道这个错误的意思是由于64位系统导致的,但在网上尚未搜索到结果,求指教~谢谢~
平台:ubuntu 12.04 LTS 64bit
由于编译arm的交叉工具链需用到gcc-4.1.0版本, 因此下载源码编译一个。
遇到问题:在make的时候,报如下错误:
make[4]: Leaving directory `/usr/bin/gcc-4.1.0/host-x86_64-unknown-linux-gnu/gcc'
/usr/bin/gcc-4.1.0/host-x86_64-unknown-linux-gnu/gcc/xgcc -B/usr/bin/gcc-4.1.0/host-x86_64-unknown-linux-gnu/gcc/ -B/usr/bin/gcc-4.1.0/gcc-build/x86_64-unknown-linux-gnu/bin/ -B/usr/bin/gcc-4.1.0/gcc-build/x86_64-unknown-linux-gnu/lib/ -isystem /usr/bin/gcc-4.1.0/gcc-build/x86_64-unknown-linux-gnu/include -isystem /usr/bin/gcc-4.1.0/gcc-build/x86_64-unknown-linux-gnu/sys-include -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 -Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp [...中间省略部分输出信息...]mv ./libgcc_s.so.1.tmp ./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: ld returned 1 exit status
make[3]: *** [libgcc_s.so] Error 1
上网搜索,得到建议:shell内手动指定路径 export LIBRARY_PATH=/usr/lib/i386-linux-gnu
重新make,仍有错误如下
/usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libc.a when searching for -lc
/usr/bin/ld: i386 architecture of input file `/usr/lib/i386-linux-gnu/crti.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/usr/lib/i386-linux-gnu/crtn.o' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status
make[3]: *** [libgcc_s.so] Error 1
我知道这个错误的意思是由于64位系统导致的,但在网上尚未搜索到结果,求指教~谢谢~