银河麒麟高级服务器操作系统V10(SP3-2403)-ARM版 gcc 更新

1、下载 我这里使用 的是 9.5

bash 复制代码
wget http://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.xz

2、解压

bash 复制代码
tar -xvf gcc-9.5.0.tar.xz

cd gcc-9.5.0

3、下载关联软件

bash 复制代码
 ./contrib/download_prerequisites

4、配置

bash 复制代码
mkdir build && cd build

../configure   --prefix=/usr/local/gcc-9.5.0 -enable-checking=release -enable-languages=c,c++ -disable-multilib --build=aarch64-linux

5、编译(时间超级长 可达到几个小时)

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

6、安装

复制代码
make install

7、查看(此时直接使用 gcc --version 可能依然是原来的版本)

bash 复制代码
[root@iZbp1a096g2sc3exmeszcfZ ~]#  /usr/local/gcc-9.5.0/bin/gcc --version
gcc (GCC) 9.5.0
Copyright © 2019 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

[root@iZbp1a096g2sc3exmeszcfZ ~]#  /usr/local/gcc-9.5.0/bin/g++ --version
g++ (GCC) 9.5.0
Copyright © 2019 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

8、添加到系统变量

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

# 生效
source ~/.bashrc

9、查看

bash 复制代码
[root@iZbp1a096g2sc3exmeszcfZ ~]# gcc --version
gcc (GCC) 9.5.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[root@iZbp1a096g2sc3exmeszcfZ ~]# g++ --version
g++ (GCC) 9.5.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

10、更新 'CXXABI' not found

bash 复制代码
##查看

[root@iZbp1a096g2sc3exmeszcfZ ~]# strings /lib64/libstdc++.so.6 | grep 'CXXABI'
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_TM_1
[root@iZbp1a096g2sc3exmeszcfZ ~]# 

## 找到 刚刚 安装gcc 的版本 这里是 /usr/local/gcc-9.5.0/lib64/libstdc++.so.6.0.28
[root@iZbp1a096g2sc3exmeszcfZ ~]# find / -name "libstdc++.so*"
/usr/lib64/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.bak
/usr/lib/gcc/aarch64-kylin-linux/4.8.2/libstdc++.so
/usr/local/gcc-9.5.0/lib64/libstdc++.so.6
/usr/local/gcc-9.5.0/lib64/libstdc++.so.6.0.28-gdb.py
/usr/local/gcc-9.5.0/lib64/libstdc++.so
/usr/local/gcc-9.5.0/lib64/libstdc++.so.6.0.28
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/data/java_cache/pytorch/2.5.1-20241113-cpu-precxx11-linux-aarch64/libstdc++.so.6
bash 复制代码
## 执行 以下操作
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s /usr/local/gcc-9.5.0/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6


##在查看
[root@iZbp1a096g2sc3exmeszcfZ ~]# strings /lib64/libstdc++.so.6 | grep 'CXXABI'
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_1.3.12
CXXABI_TM_1
CXXABI_1.3
CXXABI_1.3.11
CXXABI_1.3.2
CXXABI_1.3.6
CXXABI_1.3.12
CXXABI_1.3.9
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.8
CXXABI_1.3.4
CXXABI_TM_1
CXXABI_1.3.7
CXXABI_1.3.10
CXXABI_1.3.3
相关推荐
早八晚十啊1 小时前
基于ARM Cortex-A53与LVGL 9.0的智能车载系统设计与实现
arm开发·车载系统
a5986522 小时前
ARM服务器部署Docker云手机,多开实例性能实测
服务器·arm开发·docker·云手机
a5986522 小时前
ARM服务器搭建云手机教程|原生ARM架构,消除指令转译损耗
arm开发
XMAIPC_Robot1 天前
ARM+FPGA+AI船舶/工业自动化控制器EMC测试等级解析(IEC60533/IEC60945)
arm开发·人工智能·fpga开发·zynq·arm+fpga·rk3588+fpga
奔跑的架构师2 天前
[A-51]ARMv9/v8-SCMI系统架构
linux·arm开发·架构·系统架构·arm
玄芯散人2 天前
【元婴·94】ARM vs RISC-V大战
arm开发·risc-v
szxinmai主板定制专家2 天前
ZYNQ PL+PS 架构拆解|工业自动化与电力物联网高速数据采集、预处理与协议上云
arm开发·人工智能·物联网·fpga开发·数据采集卡·rk3576
szxinmai主板定制专家2 天前
告别 ARM 实时性短板:基于 ZYNQ 的电力故障录波 + 工业振动数据采集系统设计
arm开发·人工智能·fpga开发·zynq·数据采集卡·arm+fpga·rk3588+fpga
Awh-3 天前
ARM 裸机开发 DAY11 学习笔记
arm开发·笔记·学习
陌上花开缓缓归以3 天前
openssl 模拟签名验签(加密解密)详细分析
arm开发