gccgo1.18编译笔记
一、下载依赖:
wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2
wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2
wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz
二、安装依赖:
#依次解压,然后
./configure
make
make install
默认安装到 /usr/local 目录下,包括bin和lib。
三、安装gold(a new, faster, ELF only linker):
yum install texinfo
# 安装 gold
wget https://mirrors.aliyun.com/gnu/binutils/binutils-2.40.tar.gz
tar -xzvf binutils-2.40.tar.gz
cd binutils-2.40
./configure --prefix=/usr/local/binutils2.40 --enable-gold
make
make install
四、下载gcc代码库(国内镜像),切换到gccgo分支:
git clone https://mirrors.tuna.tsinghua.edu.cn/git/gcc.git gcc14.0.0-20230626-go1.18
cd gcc14.0.0-20230626-go1.18
git checkout gccgo
五、另外目录编译:
mkdir /opt/gccgo-build
cd /opt/gccgo-build
/opt/gcc14.0.0-20230626-go1.18/configure --prefix=/opt/gcc14.0.0-20230626-go1.18-el8-x64-output --enable-bootstrap --enable-checking=release --enable-languages=go --disable-multilib --with-ld=/usr/local/binutils2.40/bin/ld.gold --with-mpfr-lib=/usr/local/lib --with-gmp-lib=/usr/local/lib --with-mpc-lib=/usr/local/lib
make
make install
如果中途编译出错,重新编译:
cd /opt/gccgo-build
find ./ | grep 'config.cache' | xargs rm
六、设置当前进程的环境变量:
export PATH=/opt/gcc14.0.0-20230626-go1.18-el8-x64-output/bin:$PATH
export LD_LIBRARY_PATH=/opt/gcc14.0.0-20230626-go1.18-el8-x64-output/lib64:$LD_LIBRARY_PATH
七、查看版本:
--end--