在构建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
可能是什么问题?
答案 0 :(得分:11)
您是否阅读了http://gcc.gnu.org/wiki/FAQ#configure_suffix
?
您安装了GMP,MPFR和MPC吗?它们是否在您的图书馆搜索路径中?
请参阅http://gcc.gnu.org/wiki/InstallingGCC并确保您已按照基本说明操作。 到目前为止构建GCC(包括作为交叉编译器)的最简单方法是遵循以下说明:
- 或者,在解压缩GCC源存档后,只需在GCC源目录中运行
./contrib/download_prerequisites
脚本。这将下载支持库并创建符号链接,使它们作为GCC构建过程的一部分自动构建。
答案 1 :(得分:2)
“*建立海湾合作委员会并非易事,但如果您仔细遵循指示并不难。 许多人急于尝试构建它而不正确阅读安装文档并犯下一个或多个常见错误:
1)不要从gcc src dir运行./configure(这是不受支持的)=&gt;您需要从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
答案 2 :(得分:1)
export LD_LIBRARY_PATH = / path / for / libraries:$ LD_LIBRARY_PATH
path / for / libraries是GMP MPFR和MPC库所在的位置。
我在ubuntu 12.04上编译GCC,这些文件存在于路径/ usr / local / lib
中