【问题标题】:checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile检查目标文件的后缀...配置:错误:无法计算目标文件的后缀:无法编译
【发布时间】:2012-09-20 22:58:42
【问题描述】:

在构建 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 文件以获取更详细的消息。
  • 具体看libgcc/config.log

标签: gcc toolchain


【解决方案1】:

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

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

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

  • 或者,在解压 GCC 源存档后,只需运行 GCC 源目录中的 ./contrib/download_prerequisites 脚本。这将下载支持库并创建符号链接,从而使它们作为 GCC 构建过程的一部分自动构建。

【讨论】:

    【解决方案2】:

    导出 LD_LIBRARY_PATH=/path/for/libraries:$LD_LIBRARY_PATH

    path/for/libraries 是 GMP MPFR 和 MPC 库所在的位置。

    我在 ubuntu 12.04 上编译 GCC,这些 linraries 存在于路径 /usr/local/lib 中

    【讨论】:

    • 你能说得更具体一点吗?
    • 那个错误主要是库路径引起的(尤其是gmp、mpfr、mpc库)。所以让链接器可以访问路径(LD_LIBRARY_PATH)。
    【解决方案3】:

    "*构建 GCC 并非易事,但如果您仔细按照说明进行操作,也不难。 许多人在没有正确阅读安装文档的情况下匆忙尝试构建它,并犯了以下一个或多个常见错误:

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

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

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

    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
    

    来源: Advogato Doc - GNU Doc

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-15
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 2020-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多