GMP 软件包包含提供任意精度算术函数的数学库。
![[注意]](../images/note.png) 
          
            如果您在为 32 位 x86 构建 LFS,但您的 CPU 能够运行 64 位代码,而且 您指定了 CFLAGS 环境变量,配置脚本会试图为 64 位 CPU
            进行配置并且失败。为了避免这个问题,像下面这样执行 configure 命令:
          
ABI=32 ./configure ...![[注意]](../images/note.png) 
          
            GMP 的默认设定会生成为本机处理器优化的库。如果您希望获得适合功能较弱的 CPU 的库,可以向 configure 命令传递 --host=none-linux-gnu 选项,以生成通用库。
          
准备编译 GMP:
./configure --prefix=/usr    \
            --enable-cxx     \
            --disable-static \
            --docdir=/usr/share/doc/gmp-6.3.0
        新的配置选项的含义:
--enable-cxx
            该参数启用 C++ 支持
--docdir=/usr/share/doc/gmp-6.3.0
            该变量指定文档的正确位置
编译该软件包,并生成 HTML 文档:
make make html
![[重要]](../images/important.png) 
          我们认为,本节中 GMP 的测试套件是关键的。无论如何都不要跳过测试过程。
测试编译结果:
make check 2>&1 | tee gmp-check-log
![[小心]](../images/caution.png) 
          
            GMP 中的代码是针对本机处理器高度优化的。在偶然情况下,检测处理器的代码会错误识别 CPU 的功能,导致测试套件或使用 GMP
            的其他程序输出消息 Illegal instruction
            (非法指令)。如果发生这种情况,需要使用选项 --build=none-pc-linux-gnu 重新配置 GMP 并重新构建它。
          
务必确认测试套件中至少 199 项测试通过。运行以下命令检验结果:
awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log
        安装该软件包及其文档:
make install make install-html