Ubuntu 22.04编译Gem5遇native-elf-format权限及未找到问题求助
Gem5编译报错解决指南(Windows 11+Ubuntu 22.04双系统环境)
第一个错误:`/usr/bin/env: ‘python3
’: No such file or directory`
- 问题根源:双系统环境下,Gem5源码中的脚本文件带有Windows CRLF换行符,导致bash解析时将
python3\r识别为完整命令,系统找不到对应可执行文件。 - 解决办法:批量转换源码目录下所有脚本的换行符,避免遗漏:
find . -name "*.py" -o -name "*.sh" | xargs dos2unix
第二个错误:native-elf-format: Permission denied 及修复权限后 not found
- 问题根源:
native-elf-format工具缺少执行权限,或调用该工具的脚本存在换行符问题,导致编译时无法正确定位执行文件。 - 解决步骤:
- 定位
native-elf-format文件位置:find . -name "native-elf-format" - 给该文件添加执行权限:
chmod +x $(find . -name "native-elf-format") - 检查并修复调用该工具的脚本换行符问题(可根据实际路径调整):
dos2unix src/arch/x86/* - 确保安装Ubuntu下Gem5的全部依赖:
sudo apt install build-essential scons python3-dev python3-pip libprotobuf-dev protobuf-compiler libgoogle-perftools-dev libboost-all-dev - 回到Gem5源码根目录,重新执行编译命令:
用scons build/X86/gem5.opt -j$(nproc)$(nproc)自动适配CPU核心数,比固定-j9更合理。
- 定位
内容的提问来源于stack exchange,提问作者Bahareh
相关产品推荐
相关产品推荐

