从头开始编译Linux的GCC第2版时出现此错误。
configure: summary of build options:
Version: GNU MP 6.1.2
Host type: none-pc-linux-gnu
ABI: standard
Install prefix: /tools
Compiler: x86_64-lfs-linux-gnu-gcc
Static libraries: yes
Shared libraries: no
make[1]: Leaving directory '/mnt/lfs/sources/gcc-7.2.0/build'
Makefile:900: recipe for target 'all' failed
make: *** [all] Error 2
当我再次制作(只是再次输入制作)而不更改或重新配置任何内容时会出现不同的错误。
configure: error: libmpfr not found or uses a different ABI (including static vs shared).
Makefile:5232: recipe for target 'configure-mpc' failed
make[1]: *** [configure-mpc] Error 1
make[1]: Leaving directory '/mnt/lfs/sources/gcc-7.2.0/build'
Makefile:900: recipe for target 'all' failed
make: *** [all] Error 2
我正在关注this指南。配置是:
CC=$LFS_TGT-gcc \
CXX=$LFS_TGT-g++ \
AR=$LFS_TGT-ar \
RANLIB=$LFS_TGT-ranlib \
../configure \
--prefix=/tools \
--with-local-prefix=/tools \
--with-native-system-header-dir=/tools/include \
--enable-languages=c,c++ \
--disable-libstdcxx-pch \
--disable-multilib \
--disable-bootstrap \
--disable-libgomp
使用以下版本的mpfr,gmp,mpc
mpfr-4.0.0
gmp-6.1.2
mpc-1.1.0
答案 0 :(得分:1)
这是大多数gcc
构建教程中的一个重要说明:
首先,我们强烈建议将GCC内置到一个单独的目录中 来自不在源树中的源。这是 我们如何建立海湾合作委员会;构建srcdir == objdir应该在哪里 仍在工作,但没有得到广泛的测试;建筑物objdir 是srcdir的子目录不受支持。
此外,在一个演练中(我现在无法找到它,也许稍后),明确声明您无法从它所在的同一目录运行configure。强>
假设你有一个文件夹" srcdir = / path / to / parent / srcdir"那么开始配置构建的推荐方法是:
cd /path/to/parent
mkdir objdir
cd objdir
$srcdir/configure
这里写着:https://gcc.gnu.org/install/configure.html。
有关安装的整个文档是https://gcc.gnu.org/install/
答案 1 :(得分:0)
问题在于 mpfr 和 mpc 版本。在下载它们时我遇到了错误,后来我错误地下载了错误的版本。 (m ost的新手会犯这个错误,因为LFS书中的某些链接被破坏了,所以请仔细检查损坏的链接并下载正确的版本)我已将其更改为正确版本,如上所述LFS。重新编译后,它有效!