@编译安装Gcc9.2.0
Deepin20编译安装Gcc9.2.0
近来开始使用UOS平台,尝试在UOS(Deepin20社区版)编译安装Gcc9.2.0。以下是实验过的安装方法。
1、下载gcc-9.2.0
从“https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/”下载gcc-9.2.0.tar.gz并解压。
2、安装工具和依赖项目
(1)安装build-essential
终端执行 sudo apt install build-essential
安装完成基础编译器。gcc8.3
安装 cmake
(2)安装m4
sudo apt install m4
完成后重启。
(3)准备安装texinfo
sudo apt-get install texinfo
(4)下载依赖项目
gmp-6.1.0、mpfr-3.1.4、
cd gcc-9.3.0
./contrib/download_prerequisites
(5)解压安装 gmp-6.1.0
tar -xvpf gmp-6.1.0.tar.bz2
cd gmp-6.1.0 ; mkdir build ; cd build
./configure --prefix=/usr/local/gmp-6.1.0 --disable-shared --enable-static
sudo make && make install
(6)安装MPFR
tar xvpf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4 ; mkdir build ; cd build
…/configure --prefix=/usr/local/mpfr-3.1.4 --disable-shared --enable-static --with-gmp=/usr/local/gmp-6.1.0
sudo make && make install
(7)mpc-1.0.3
tar zxvf mpc-1.0.3.tar.gz
cd mpc-1.0.3 ; mkdir build ; cd build
…/configure --prefix=/usr/local/mpc-1.0.3 --disable-shared --enable-static --with-mpfr=/usr/local/mpfr-3.1.4
sudo make && make install
(8)安装isl-0.18
cd isl-0.18 ; mkdir build ; cd build
…/configure --prefix=/usr/local/isl-0.18
sudo make && make install
3、安装GCC 9.2
cd gcc-9.2.0 ; mkdir build ; cd build
…/configure --prefix=/usr/local/gcc-9.2.0 --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4 --with-mpc=/usr/local/mpc-1.0.3
4、下载安装gdb-9.2.0
下载地址:https://ftp.gnu.org/gnu/gdb/
cd /home/xx/Download/gdb-9.2/
mkdir build ; cd build
…/configure --prefix=/usr/local/gdb-9.2
5、创建文件链接
(1)保存、删除/usr/bin中的链接
从系统中删除原有的gcc程序和连接,创建部份目录/usr/local/gcc8.3-backup,移除将/usr/bin/下ln文件:
cd /usr/bin
ls gcc* gcov* g+* x86_64-linux-gnu-gcc* x86_64-linux-gnu-gcov* x86_64-linux-gnu-g+*
sudo mkdir /usr/local/gcc8.3-backup
sudo mv gcc gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool g++
x86_64-linux-gnu-g++ x86_64-linux-gnu-gcc-nm x86_64-linux-gnu-gcov-dump
x86_64-linux-gnu-gcc x86_64-linux-gnu-gcc-ranlib x86_64-linux-gnu-gcov-tool
x86_64-linux-gnu-gcc-ar x86_64-linux-gnu-gcov
/usr/local/gcc8.3-backup
(2)创建gcc-9.2.0连接
*注意:在 /usr/local/gcc-9.2.0/bin 目录下操作!
sudo cd /usr/local/gcc-9.2.0/bin
for f in *; do sudo ln -s /usr/local/gcc-9.2.0/bin/
f
/
u
s
r
/
b
i
n
;
d
o
n
e
(
3
)
创
建
g
d
b
−
9.2
连
接
∗
注
意
:
在
/
u
s
r
/
l
o
c
a
l
/
g
d
b
−
9.2
/
b
i
n
目
录
下
操
作
!
s
u
d
o
c
d
/
u
s
r
/
l
o
c
a
l
/
g
d
b
−
9.2
/
b
i
n
f
o
r
f
i
n
∗
;
d
o
s
u
d
o
l
n
−
s
/
u
s
r
/
l
o
c
a
l
/
g
d
b
−
9.2
/
b
i
n
/
{f} /usr/bin; done (3)创建gdb-9.2连接 *注意:在 /usr/local/gdb-9.2/bin 目录下操作! sudo cd /usr/local/gdb-9.2/bin for f in *; do sudo ln -s /usr/local/gdb-9.2/bin/
f/usr/bin;done(3)创建gdb−9.2连接∗注意:在/usr/local/gdb−9.2/bin目录下操作!sudocd/usr/local/gdb−9.2/binforfin∗;dosudoln−s/usr/local/gdb−9.2/bin/{f} /usr/bin; done