环境配置流程
cmake
编译 gcc
Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+
- GMP (GNU Multiple Precision Arithmetic Library)
- MPFR (Multiple Precision Floating-Point Reliable Library)
- MPC (Multiple Precision Complex Library)
编译 GMP
curl -L https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz -O
编译 MPFR
curl -L https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.gz -O
编译 MPC
curl -L https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz -O
实际编译流程基本遵循:
mkdir build
cd build
../configure --prefix=xxx
make -j
make install
编译 gcc
参考文章:
中间出现了几次错误,可能原因是内存不足,但是感觉不可思议,因为机器有500多G的内存,怎么可能会不足,重复了多次才编译完成
编译 glibc
clangd 报错需要高版本的 glibc,因此需要单独编译一下
clangd: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by clangd)
- 下载源码
- 编译,也是采用 configure,常规的编译流程
编译时报错 make 版本较低,于是编译安装了新版本的 make,但是编译时 configure 脚本检测不到,采用的解决方式是设置临时环境变量手动指定 make 可执行文件
MAKE=/path/to/new/make ./configure
这个问题解决了,但是新的问题是 make install 时报新的错误
../sysdeps/x86_64/multiarch/memchr-evex-base.S: Assembler messages:
../sysdeps/x86_64/multiarch/memchr-evex-base.S:229: Error: no such instruction: `vpcmpneqb (64 * 4)(%rdi),%zmm17,%k1'
好在之前在并行处理课程实验中遇到过类似错误,应该是需要更新 binutils 的版本