-
检查系统中有没有安装过
# rpm -qa | grep gdb
-
下载源码包
# wget http://ftp.gnu.org/gnu/gdb/gdb-8.0.1.tar.gz
-
编译安装
# tar -zxvf gdb-8.0.tar.gz
# ./configure # make
# sudo make install
提示gcc版本低按下面操作升级,升级后删除源码包重新解压编译安装
-
查看是否成功
# gdb -v
升级 GCC 支持C11 language features is required.
-
查看当前版本
# gcc -v gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
-
下载高版本gcc
# wget ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-8.3.0/gcc-8.3.0.tar.gz
-
编译安装
# ./configure --prefix=/usr/local/gcc-8.3.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib # make # make install
-
查看版本
如果发现版本没有变化, 可以删除旧版本的gcc,如果旧版的是用yum安装的,可以使用yum remove gcc。 然后把新安装的gcc的bin目录添加到环境变量中,/etc/pfofile文件中。 尾部加上:PATH=/root/.config/composer/vendor/bin:$PATH 保存更新:source /etc/profile 检查变量:echo $PATH 再查看版本,是否已变成最新安装的版本
-
更新标准库
# cp /usr/local/gcc-8.3.0/lib64/libstdc++.so.6.0.25 /usr/lib64 # cd /usr/lib64 # ls -l | grep libstdc++ lrwxrwxrwx. 1 root root 19 Jun 4 17:36 libstdc++.so.6 -> libstdc++.so.6.0.19 -rwxr-xr-x. 1 root root 995840 Sep 30 2020 libstdc++.so.6.0.19 -rwxr-xr-x. 1 root root 12156720 Jun 5 10:11 libstdc++.so.6.0.25 # rm -f libstdc++.so.6 # ln -s libstdc++.so.6.0.25 libstdc++.so.6
遇见错误1:configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+,安装gcc需要这三个依赖:GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+
-
下载依赖包
# wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 # wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 # wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
-
安装GMP:
# tar -jxvf gmp-6.1.0.tar.bz2 # cd gmp-6.1.0 # ./configure # make && make install
-
安装MPFR:
# tar -jxvf mpfr-3.1.4.tar.bz2 # cd mpfr-3.1.4 # ./configure # make && make install
-
安装MPC
# tar -zxvf mpc-1.0.3.tar.gz # cd mpc-1.0.3 # ./configure # make && make install
遇见错误2: configure: error: C preprocessor "/lib/cpp" fails sanity check
问题的根源是缺少必要的C
# yum install glibc-headers # yum install gcc-c++