centos 源码编译gcc10.2
前言
随着时代进步,很多编译需要c++14等更高的编译环境。
安装包 | 版本 | 必选 | 说明 |
---|---|---|---|
gcc | 10.2.0 | 是 | gcc g++ c++ |
gmp | 6.2.0 | 是 | 用于高精度整数运算的开源库 |
mpfr | 4.1.0 | 是 | 用于高精度浮点数运算的开源库 |
mpc | 1.2.1 | 是 | 用于高精度复数运算的开源库 |
isl | 0.22 | 是 | 用于处理整数集合和多维多项式的开源库 |
源码下载
源代码库
这是个广义的库,需要什么安装包进去按名称搜索即可。
gmp-6.2.0
./configure --prefix=/usr/local/gmp-6.2.0
make && make install
mpfr-4.1.0
./configure --prefix=/usr/local/mpfr-4.1.0 --with-gmp=/usr/local/gmp-6.2.0
make -j4 && make install
mpc-1.2.1
./configure --prefix=/usr/local/mpc-1.2.1 --with-gmp=/usr/local/gmp-6.2.0 \
--with-mpfr=/usr/local/mpfr-4.1.0
make -j4 && make install
isl-0.22
./configure --prefix=/usr/local/isl-0.22 --with-gmp-prefix=/usr/local/gmp-6.2.0
make -j4 && make install
依赖库环境变量
vi /etc/ld.so.conf
/usr/local/gmp-6.2.0/lib
/usr/local/mpfr-4.1.0/lib
/usr/local/mpc-1.2.1/lib
/usr/local/isl-0.22/lib
ldconfig -v
gcc-10.2.0
一定要新建文件夹
mkdir build && cd build
/usr/src/gcc-10.2.0/configure --prefix=/usr/local/gcc10.2.0 --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux --with-gmp=/usr/local/gmp-6.2.0 --with-mpc=/usr/local/mpc-1.2.1 --with-mpfr=/usr/local/mpfr-4.1.0 --with-isl=/usr/local/isl-0.22 --disable-multilib
make -j8
make install
gcc环境变量
cd /usr/bin
mv gcc gcc.old
mv g++ g++.old
mv c++ c++.old
ln -s /usr/local/gcc10.2.0/bin/gcc gcc
ln -s /usr/local/gcc10.2.0/bin/g++ g++
ln -s /usr/local/gcc10.2.0/bin/c++ c++
vi /etc/profile
export CC=/usr/bin/gcc
export PATH=/usr/local/gcc10.2.0/bin:$PATH
source /etc/profile