银河麒麟服务器系统升级安装gcc

目录

前言

一、环境准备

1.系统环境

2. 安装依赖

3. 下载 GCC 源码

4. 下载依赖库(可选)

二、编译安装

1. 配置编译选项

2. 编译安装

3.更新系统库链接

三、验证版本

总结


前言

在国产操作系统生态蓬勃发展的背景下,银河麒麟服务器系统凭借其高安全性、高稳定性和自主可控特性,已成为关键行业数字化转型的核心基础设施。然而,随着业务需求和技术演进,开发者常面临系统预装GCC版本无法满足现代软件编译需求的挑战——例如,某些新工具链或第三方库依赖更高版本的GLIBCXX标准库(如GLIBCXX_3.4.25以上),而默认安装的GCC可能存在版本滞后问题。本文将讲解银河麒麟服务器系统下GCC的升级与安装实践。

一、环境准备

1.系统环境

[root@localhost ~]# nkvers 
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Halberd)

Kernel:
4.19.90-89.11.v2401.ky10.x86_64

Build:
Kylin Linux Advanced Server
release V10 SP3 2403/(Halberd)-x86_64-Build20/20240426
#################################################
[root@localhost ~]# 

2. 安装依赖

首先安装必要的开发工具和依赖库:

yum groupinstall "Development Tools" -y
yum install wget gmp-devel mpfr-devel libmpc-devel texinfo -y

3. 下载 GCC 源码

访问官网地址 (https://ftp.gnu.org/gnu/gcc)直接下载稳定版(如 GCC 9.3.0),其它新版本也可以,看自己的需求,本文以 GCC 9.3.0版本为例安装。

# 如果wget下载访问不了,可以用浏览器访问下载,然后上传到服务器
wget https://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
tar -xvf gcc-9.3.0.tar.gz
cd gcc-9.3.0

4. 下载依赖库(可选)

GCC 编译需要依赖 gmpmpfrmpc,如果网络畅通,可以自动下载,如果下载失败,需手动安装依赖(见步骤1)。

cd gcc-9.3.0
./contrib/download_prerequisites

二、编译安装

1. 配置编译选项

创建一个构建目录并配置 GCC:

mkdir build
cd build
../configure --prefix=/usr/local/gcc-13.2.0 --enable-languages=c,c++ --disable-multilib

# --prefix:指定安装路径(建议 /usr/local/gcc-版本号)。
# --enable-languages:选择编译的语言(这里只需要 C/C++)。  
# --disable-multilib:禁用多库支持(简化编译)。

2. 编译安装

启动编译,耗时较长,建议使用 -j 并行编译:

make -j$(nproc)  && make install  # nproc 是 CPU 核心数,如 make -j8

编译时间可能长达 1~2 小时,取决于机器性能。

3.更新系统库链接

ln -sf /usr/local/gcc-9.3.0/bin/gcc /usr/bin/gcc
ln -sf /usr/local/gcc-9.3.0/bin/g++ /usr/bin/g++
# libstdc++版本可能不一样,根据自己所安装的版本进行修改
ln -sf /usr/local/gcc-9.3.0/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6

三、验证版本

[root@localhost gcc-9.3.0]# gcc --version
gcc (GCC) 9.3.0
Copyright © 2019 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@localhost gcc-9.3.0]# strings /usr/local/gcc-9.3.0/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH
_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
GLIBCXX_3.4.21
GLIBCXX_3.4.9

版本正确,安装成功。


总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值