-
檢查系統中有沒有安裝過
# 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++