8

在构建 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

可能是什么问题?

4

3 回答 3

11

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

你安装了GMP、MPFR和MPC吗?它们在您的图书馆搜索路径中吗?

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

  • 或者,在解压 GCC 源存档后,只需运行./contrib/download_prerequisitesGCC 源目录中的脚本。这将下载支持库并创建符号链接,使它们作为 GCC 构建过程的一部分自动构建。
于 2012-09-30T22:17:02.010 回答
2

“*构建 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

于 2013-04-25T13:08:48.653 回答
1

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

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

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

于 2013-03-24T17:33:11.367 回答