Cài đặt gcc mới nhất từ source trên centos 7

Mặc định cài từ yum của centos 7 chỉ có gcc 4.8.5. Khá là cũ, các software mới như redis yêu cầu tối thiểu phải 4.9 mới buld được. Cách cài đặt gcc mới hơn như sau:

Tìm source từ trang chủ: https://gcc.gnu.org/mirrors.html
Tìm được  1 repo cảm thấy gần mình nhất sau đó truy cập vào, lấy ra link release, wget về là OK, ở đây là link:

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-10.1.0/gcc-10.1.0.tar.gz

Giải nén sau đó tiến hành cài đặt:

yum -y install bzip2 wget gcc gcc-c++ gmp-devel mpfr-devel libmpc-devel make

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-10.1.0/gcc-10.1.0.tar.gz

tar xzvf gcc-10.1.0.tar.gz

cd gcc-10.1.0

./configure --enable-languages=c,c++ --disable-multilib

make -j$(nproc)

make install

Sau khi make install tiến hành khai báo

export PATH=/usr/local/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH

cat <<EOF >  /etc/profile.d/gcc10.sh

export PATH=/usr/local/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH

EOF

test lại output thế này là OK

[root@redis1 redis-6.0.1]# gcc -v

Using built-in specs.

COLLECT_GCC=gcc

COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/10.1.0/lto-wrapper

Target: x86_64-pc-linux-gnu

Configured with: ./configure --enable-languages=c,c++ --disable-multilib

Thread model: posix

Supported LTO compression algorithms: zlib

gcc version 10.1.0 (GCC)

[root@redis1 redis-6.0.1]#