编译libgcc xgcc错误

我想安装交叉编译器, 本教程 ,当我想要使libgcc我只是把我make all-target-libgcc在我的terminal。 这使得抛出错误

 checking whether ln -s works... yes checking for i586-elf-gcc... /usr/src/build-gcc/./gcc/xgcc -B/usr/src/build-gcc/./gcc/ -B/usr/local/cross/i586-elf/bin/ -B/usr/local/cross/i586-elf/lib/ -isystem /usr/local/cross/i586-elf/include -isystem /usr/local/cross/i586-elf/sys-include checking for suffix of object files... configure: error: in `/usr/src/build-gcc/i586-elf/libgcc': configure: error: cannot compute suffix of object files: cannot compile See `config.log' for more details. make: *** [configure-target-libgcc] Error 1 

在config.log中我find了

 Target: i586-elf Configured with: ../gcc-4.8.0/configure --target=i586-elf --prefix=/usr/local/cross -- disable-nls --enable-languages=c,c++ --without-headers : (reconfigured) ../gcc-4.8.0/configure --target=i586-elf --prefix=/usr/local/cross --disable-nls --enable-languages=c,c++ --without-headers : (reconfigured) ../gcc-4.8.0/configure --target=i586-elf --prefix=/usr/local/cross --disable-nls --enable-languages=c,c++ --without-headers Thread model: single gcc version 4.8.0 (GCC) configure:3358: $? = 0 configure:3347: /usr/src/build-gcc/./gcc/xgcc -B/usr/src/build-gcc/./gcc/ - B/usr/local/cross/i586-elf/bin/ -B/usr/local/cross/i586-elf/lib/ -isystem /usr/local/cross/i586-elf/include -isystem /usr/local/cross/i586-elf/sys-include -V >&5 xgcc: error: unrecognized command line option '-V' xgcc: fatal error: no input files 

实际上xgcc没有'-V'选项。 我正在寻找如何编译libgcc的方式。

提前致谢

问题如下:在您尝试构建libgcc之前,您已经构建了一个极其简单的交叉编译器。 现在,配置脚本运行的一部分标准测试是测试编译器,看它是否会在正常情况下生成可执行文件。 你的骨头编译器不能。 幸运的是,对于libgcc ,您不需要生成可执行文件,只需要一个静态库libgcc.a 。 问题是愚蠢的GNU autoconf生成的脚本没有意识到这一点。

我遇到了同样的问题,并设计了一个非常丑陋的解决方法。 您需要注释掉gcc源代码目录中libgcc / configure文件的一部分。 这是我为我的版本注释的部分; 做类似于你的事情:

在3484行:

 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } # BEGIN PHILLIP EDIT # if test -z "$ac_file"; then : # $as_echo "$as_me: failed program was:" >&5 # sed 's/^/| /' conftest.$ac_ext >&5 # { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 # $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} # { as_fn_set_status 77 # as_fn_error "C compiler cannot create executables # See \`config.log' for more details." "$LINENO" 5; }; } # fi ac_file='a.out' # END PHILLIP EDIT ac_exeext=$ac_cv_exeext 

希望这可以帮助。