银河麒麟高级服务器操作系统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
相关推荐
Arenaschi2 小时前
国产麒麟X86结构和arm架构的区别
arm开发
EnglishJun9 小时前
ARM嵌入式学习(二十一)--- Platform总线结合dts、gpio子系统、中断和错误处理
arm开发·学习
AI服务老曹11 小时前
异构计算时代的安防底座:基于 x86/ARM 双架构与多芯片适配的 AI 视频云平台架构解析
arm开发·人工智能·架构
落樱弥城11 小时前
Arm Mali GPU架构
arm开发·架构
The Mr.Nobody12 小时前
基于STM32F407的 TFTP Server
arm开发·stm32·嵌入式硬件
飞凌嵌入式12 小时前
如何用JishuShell在RK3588核心板上快速部署OpenClaw?
arm开发·人工智能·嵌入式硬件·openclaw
ai产品老杨12 小时前
异构计算时代的安防底座:基于 x86/ARM 双架构与多芯片适配的 AI 视频云平台架构解析
arm开发·人工智能·架构
ai产品老杨1 天前
异构计算时代的视频底座:基于 ZLMediaKit 与 Spring Boot 的 X86/ARM 跨平台架构解析
arm开发·spring boot·音视频
路溪非溪1 天前
如何使用sysfs来排查驱动问题
linux·arm开发·驱动开发
路溪非溪1 天前
如何使用procfs来排查问题
linux·arm开发·驱动开发