银河麒麟高级服务器操作系统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
相关推荐
代码游侠7 天前
STM32开发——基础外设
linux·运维·arm开发·stm32·单片机·嵌入式硬件·学习
代码游侠8 天前
Linux驱动复习——驱动
linux·运维·arm开发·笔记·学习
古译汉书8 天前
【IoT死磕系列】Day 6:工业控制底层大动脉—CAN总线
linux·网络·arm开发·单片机·物联网·tcp/ip
姜太公钓鲸2338 天前
STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器。上述文字中的内核是什么意思?作用是什么?
arm开发·stm32·嵌入式硬件
日更嵌入式的打工仔8 天前
FIQ 与 IRQ
arm开发·笔记
The️9 天前
STM32-FreeRTOS操作系统-软件定时器
arm开发·stm32·单片机·嵌入式硬件·mcu·c#
szxinmai主板定制专家9 天前
RK3588 8个USB工控解决方案,适用于机器视觉,工业互联等
arm开发·人工智能·fpga开发
我在人间贩卖青春9 天前
ARM编程模型
arm开发·arm工作模式
安全二次方security²9 天前
【CVE-2025-0647】ARM CPU漏洞安全通告
arm开发·安全·cve-2025-0647·tlbi·cpp rctx 指令·c1-ultra·虚拟化漏洞
道亦无名10 天前
armBitRevIndexTable1024
arm开发