Gcc 正在检查对象文件的后缀。。。配置:错误:无法计算对象文件的后缀:无法编译

Gcc 正在检查对象文件的后缀。。。配置:错误:无法计算对象文件的后缀:无法编译,gcc,toolchain,Gcc,Toolchain,在构建ARM工具链时,我得到了以下错误 checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile See `config.log' for more details. make[1]: *** [configure-target-libgcc] Error 1 make[1]: Leaving directory `<path&

在构建ARM工具链时,我得到了以下错误

checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[1]: *** [configure-target-libgcc] Error 1
make[1]: Leaving directory `<path>/gcc-4.3.2-arm-elf'
make: *** [all] Error 2
正在检查对象文件的后缀。。。配置:错误:无法计算对象文件的后缀:无法编译
有关详细信息,请参阅“config.log”。
生成[1]:***[配置目标libgcc]错误1
make[1]:离开目录“/gcc-4.3.2-arm-elf”
make:**[全部]错误2

有什么问题吗

你读过
http://gcc.gnu.org/wiki/FAQ#configure_suffix

您是否安装了GMP、MPFR和MPC?它们是否在您的库搜索路径中

请参阅并确保您已遵循基本说明到目前为止构建GCC(包括作为交叉编译器)的最简单方法是遵循以下说明:

  • 或者,在提取GCC源归档文件后,只需在GCC源目录中运行
    /contrib/download\u prerequisions
    脚本。这将下载支持库并创建符号链接,使它们作为GCC构建过程的一部分自动构建

导出LD\u LIBRARY\u PATH=/PATH/for/libraries:$LD\u LIBRARY\u PATH

路径/for/libraries是GMP MPFR和MPC库所在的位置

我在Ubuntu12.04上编译GCC,路径/usr/local/lib

“*构建GCC不是一件小事,但如果您仔细遵循说明,这并不困难。 许多人在没有正确阅读安装文档的情况下匆忙尝试构建它,并犯下以下一个或多个常见错误:

1) 不运行./configure from gcc src dir(不支持)=>您需要从gcc源目录之外运行configure

2) 注意:如果GCC动态链接到必备库(GMP/MPFR/MPC),则在构建GCC和使用已安装的编译器时,共享库必须位于动态链接器路径(LD_LIBRARY_path)中。*”

简单示例(没有到GMP/MPFR/MPC的动态链接):

资料来源: -

查看
config.log
文件以获取更详细的消息。更具体地说,请查看
libgcc/config.log
是否可以更具体一点?该错误主要由库路径引起。(尤其是gmp、mpfr、mpc库)。因此,让链接器可以访问路径(LD_LIBRARY_path)。
tar xzf gcc-4.8.0.tar.gz
cd gcc-4.8.0
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.8.0/configure --prefix=/opt/gcc-4.8.0 
make
make install