求助:在Coral开发板上安装gcc-9以支持(E)XLA运行
在Coral开发板上安装gcc-9以满足XLA的GLIBCXX_3.4.26依赖
问题背景
XLA加速线性代数库要求依赖GLIBCXX_3.4.26,该组件仅在gcc 8及以上版本中提供;而Debian testing源无法找到gcc-9包,因此需要通过源码编译的方式安装。
操作步骤
安装编译依赖
先更新系统并安装编译gcc所需的基础工具和依赖库:sudo apt update && sudo apt install build-essential libgmp-dev libmpfr-dev libmpc-dev flex bison下载并解压gcc-9源码
下载gcc 9.x系列的稳定版源码(推荐9.5.0),解压后进入源码目录:tar -xzf gcc-9.5.0.tar.gz cd gcc-9.5.0下载gcc依赖组件
运行gcc自带的脚本自动下载编译所需的依赖包:./contrib/download_prerequisites配置编译参数
创建单独的编译目录(避免污染源码),并配置编译选项,指定安装路径为/usr/local/gcc-9(防止覆盖系统默认gcc):mkdir build && cd build ../configure --prefix=/usr/local/gcc-9 --enable-languages=c,c++ --disable-multilib编译并安装
开始编译(-j参数后接的数字为并行编译核心数,可根据Coral开发板的核心数调整,比如4核用-j4):make -j4编译完成后执行安装:
sudo make install配置环境变量
- 临时生效:在当前终端中执行以下命令,让系统优先使用刚安装的gcc-9:
export PATH=/usr/local/gcc-9/bin:$PATH - 永久生效:编辑用户配置文件
~/.bashrc,在末尾添加上述环境变量,然后执行source ~/.bashrc使配置生效。
- 临时生效:在当前终端中执行以下命令,让系统优先使用刚安装的gcc-9:
验证安装结果
检查gcc版本:g++ --version确认
GLIBCXX_3.4.26存在:strings /usr/local/gcc-9/lib/aarch64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.26(注:如果是32位系统,路径中的
aarch64-linux-gnu需替换为对应架构路径)
可选:解决编译时内存不足问题
Coral开发板内存有限,编译gcc可能出现内存不足报错,可临时添加swap分区:
# 创建2GB的swap文件 sudo fallocate -l 2G /swapfile # 设置权限 sudo chmod 600 /swapfile # 启用swap sudo mkswap /swapfile && sudo swapon /swapfile
若需永久启用swap,编辑/etc/fstab文件,添加一行:/swapfile none swap sw 0 0
内容的提问来源于stack exchange,提问作者jnnks
相关产品推荐
相关产品推荐

