银河麒麟高级服务器操作系统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
相关推荐
蓝天下的守望者11 小时前
ARM CoreLink IP Overview
arm开发
cnnews12 小时前
Ubuntu 编译 postmarketOS
linux·运维·arm开发·ubuntu·github·音视频
Doraemomo13 小时前
硬件基础概念
arm开发
Mr_YDK17 小时前
鲲鹏平台开发全链路实战系列 | 博客一:从x86到鲲鹏ARM——DevKit代码迁移工具完全实战
arm开发·信创改造·鲲鹏arm迁移
蓝天下的守望者19 小时前
ARM SOC architecture学习文档整理
arm开发·学习
qq_4029957520 小时前
Secure Boot Part 2 —— 安全启动流程
arm开发·mcu·安全
外域速览2 天前
GPT-6 Astra 开放、标普罕见拉响 AI 基建信用警报、三星 Arm 联手 2nm 端侧芯片:算力下半场的三条主线
arm开发·人工智能·gpt
女神下凡3 天前
RISC‑V 对比 ARM,实际项目到底怎么选?
arm开发
珞光电子USRP SDR软件无线电平台5 天前
国产嵌入式SDR平台LW-E320-G详解:射频、FPGA、ARM架构与应用选型
arm开发·fpga开发·架构
Jason_zhao_MR5 天前
Linux与采集MCU通信为什么我们用了双SPI
linux·arm开发·单片机·嵌入式硬件·嵌入式