由于 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++