编译最新gcc 报错

发布时间 2023-09-21 02:23:19作者: 韩若明瞳
configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.

编译 gcc 时,需要依赖 GMP, MPFR, MPC 对应的依赖库
对应的库可以百度阿里云下载, MPC 可以去github 下载, 需要下载提示的指定版本

我尝试使用如下指令去编译的时候, 依然报错

../configure --prefix=/usr/local/gcc-11.4.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib \
--with-gmp=/usr/local/gmp-4.2.3 \
--with-mpfr=/usr/local/mpfr-3.1.0 \
--with-mpc=/usr/local/mpc-0.8

于是我对每个路径做了软连接处理

[root@src#] ls /usr/local/ -l
lrwxrwxrwx   1 root root    9 Sep 21 01:59 gmp -> gmp-4.2.3
drwxr-xr-x   5 root root 4096 Sep 21 01:32 gmp-4.2.3
lrwxrwxrwx   1 root root    9 Sep 21 02:01 mpc -> mpc-0.8.2
drwxr-xr-x   5 root root 4096 Sep 21 01:46 mpc-0.8.2
lrwxrwxrwx   1 root root   10 Sep 21 02:00 mpfr -> mpfr-3.1.0
drwxr-xr-x   5 root root 4096 Sep 21 01:34 mpfr-3.1.0

然后运行如下指令即可编译, 很明显, gcc内部程序应该对特殊字符的目录没有处理, 导致识别不到对应目录下的库

../configure --prefix=/usr/local/gcc-11.4.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib \
--with-gmp=/usr/local/gmp \
--with-mpfr=/usr/local/mpfr \
--with-mpc=/usr/local/mpc