Autotuner 安装问题修复记录
服务器信息
- 服务器:
华为云ECS - 用户:
root - 架构:
aarch64 - 系统:
openEuler 22.03 LTS - BiSheng Compiler 路径:
/opt/compiler/BiShengCompiler-5.1.0.2-aarch64-linux
问题现象
服务器上已经存在 BiSheng Compiler 和 Autotuner 启动脚本:
但配置 PATH 后执行 Autotuner 报错:
初始检查结果:
根因
Autotuner 的 Python 字节码与当前解释器版本不匹配。
**服务器默认 **python3 是 3.9.9,而 Autotuner 包内的字节码需要更高版本 Python。执行 llvm-autotune -h 时,启动脚本使用的是:
**因此它会加载当前 PATH 中的 **python3。当 python3 指向系统自带的 Python 3.9.9 时,就会触发 bad magic number。
修复思路
**不替换系统 **/usr/bin/python3,避免影响 openEuler 自带工具和系统包管理器。
采用独立 Python 安装路径:
再让 root 用户的 shell PATH 优先使用:
修复步骤
1. 检查系统仓库
**结果:openEuler 当前仓库没有可直接安装的 **python3.10 或 python3.11 包。
2. 补齐 Python 编译依赖
其中大部分依赖已存在,新增安装了:
3. 编译安装 Python 3.11.9
安装结果:
Autotuner 安装位置:
6. 固化 root 用户环境变量
**检查到 **/root/.bash_profile 会加载 /root/.bashrc,因此将环境写入 /root/.bashrc:
输出:
手工验证:
**两个命令均可正常输出帮助信息,原来的 **bad magic number in 'autotuner' 已消失。
回滚方式
**如需回滚本次修复,执行前请确认没有其他业务依赖 **/opt/python-3.11.9。
**不需要恢复 **/usr/bin/python3,因为修复过程中没有修改它。
Autotuner 安装问题修复记录
服务器信息
华为云ECSrootaarch64openEuler 22.03 LTS/opt/compiler/BiShengCompiler-5.1.0.2-aarch64-linux问题现象
服务器上已经存在 BiSheng Compiler 和 Autotuner 启动脚本:
但配置 PATH 后执行 Autotuner 报错:
初始检查结果:
根因
Autotuner 的 Python 字节码与当前解释器版本不匹配。
**服务器默认 **
python3是3.9.9,而 Autotuner 包内的字节码需要更高版本 Python。执行llvm-autotune -h时,启动脚本使用的是:**因此它会加载当前 PATH 中的 **
python3。当python3指向系统自带的Python 3.9.9时,就会触发bad magic number。修复思路
**不替换系统 **
/usr/bin/python3,避免影响 openEuler 自带工具和系统包管理器。采用独立 Python 安装路径:
再让 root 用户的 shell PATH 优先使用:
修复步骤
1. 检查系统仓库
**结果:openEuler 当前仓库没有可直接安装的 **
python3.10或python3.11包。2. 补齐 Python 编译依赖
其中大部分依赖已存在,新增安装了:
3. 编译安装 Python 3.11.9
安装结果:
Autotuner 安装位置:
6. 固化 root 用户环境变量
**检查到 **
/root/.bash_profile会加载/root/.bashrc,因此将环境写入/root/.bashrc:输出:
手工验证:
**两个命令均可正常输出帮助信息,原来的 **
bad magic number in 'autotuner'已消失。回滚方式
**如需回滚本次修复,执行前请确认没有其他业务依赖 **
/opt/python-3.11.9。**不需要恢复 **
/usr/bin/python3,因为修复过程中没有修改它。