银河麒麟V10 SP3 升级GCC环境

由于 SuperMap 从12i版本开始,组件底层升级到 GLIBC 2.28 和 GCC 8.3,因此需要对 GLIBC 和 GCC 进行升级。GLIBC 升级比较困难,推荐更换较新的操作系统。下面以 麒麟V10 SP3 为例介绍 GCC 环境升级

银河麒麟V10 SP3 升级GCC环境

    • [1. 检查环境](#1. 检查环境)
    • [2. 升级gcc 环境](#2. 升级gcc 环境)
      • [2.1 拉取gcc源码](#2.1 拉取gcc源码)
      • [2.2 编译源码](#2.2 编译源码)
    • [3 验证编译成果](#3 验证编译成果)
    • [4. 创建软连接,让系统默认使用8.5 gcc](#4. 创建软连接,让系统默认使用8.5 gcc)

1. 检查环境

shell 复制代码
## 检查 glibc版本
[root@kube-admin gcc]# ldd --version
ldd (GNU libc) 2.28
[root@kube-admin gcc]# 

## 检查gcc版本
[root@kube-admin gcc]# gcc --version
gcc (GCC) 7.3.0

2. 升级gcc 环境

2.1 拉取gcc源码

在互联网拉取gcc 源码,可以选取国内镜像源
wget https://mirrors.aliyun.com/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz,

2.2 编译源码

解压

shell 复制代码
tar -zxvf gcc-8.5.0.tar.gz

创建构建目录(避免在源码目录直接编译)

shell 复制代码
[root@kube-admin gcc]# cd gcc-8.5.0/
[root@kube-admin gcc-8.5.0]# mkdir build & cd build

../configure \
   --prefix=/usr/local/gcc-8.5.0 \
   --enable-languages=c,c++ \
   --disable-multilib \
   --with-gmp=/usr \
   --with-mpfr=/usr \
   --with-mpc=/usr

开始编译

shell 复制代码
make -j$(nproc)

安装到系统

shell 复制代码
make install

添加到系统变量

shell 复制代码
# 添加到 PATH
echo 'export PATH=/usr/local/gcc-8.5.0/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-8.5.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc

# 生效
source ~/.bashrc

3 验证编译成果

shell 复制代码
[root@kube-admin build]# gcc --version
gcc (GCC) 8.5.0
[root@kube-admin build]# g++ --version
g++ (GCC) 8.5.0

4. 创建软连接,让系统默认使用8.5 gcc

shell 复制代码
# 创建软链接(可选)
sudo ln -sf /usr/local/gcc-8.5.0/bin/gcc /usr/local/bin/gcc
sudo ln -sf /usr/local/gcc-8.5.0/bin/g++ /usr/local/bin/g++
相关推荐
hansang_IR2 分钟前
【代数与组合数学 | 那忘算 5】生成函数 & 例题 & 卷积
c++·算法·多项式·生成函数·母函数
无忧.芙桃8 分钟前
数据结构之排序算法(上):从评价指标到插入、希尔、选择与堆排序
c语言·c++·排序算法
syagain_zsx11 分钟前
算法基础篇 · 02 高精度(C++ 题解)
开发语言·c++·学习·高精度
6Hzlia13 分钟前
【Classic 150 刷题计划】 LeetCode 242. 有效的字母异位词 | C++ 哈希计数与严密防线
c++·算法·leetcode
wabs66615 分钟前
关于二叉树【力扣101.对称二叉树的思考】
数据结构·c++·算法·leetcode·二叉树
金士顿18 分钟前
ASP.NET Core BackgroundService 深度解析:设备后台任务到底应该怎么设计
linux·嵌入式·asp.net core·arm64
j7~29 分钟前
【Linux网络加餐课】(篇八)网络版计算器(终篇):守护进程、标准 IO 重定向与部署打包
linux·运维·网络编程·tcp·守护进程·io重定向·部署打包
6Hzlia34 分钟前
【Classic 150 刷题计划】 LeetCode 228. 汇总区间 | C++ 双游标区间扫描与 to_string 规范
c++·算法·leetcode
Escalating_xu38 分钟前
【Linux 多线程】自旋锁:从 atomic_flag 原子操作到 pthread_spin_* 与高竞争优化
linux·系统架构
kkkkkkkkkk_Z1 小时前
学嵌入式和Linux应用编程|学习日记:深入理解TCP协议与网络编程实战
linux·笔记·学习