gcc - 无法在带有 anaconda 的机器上构建 gem5:“lto1:致命错误:字节码流”
问题描述
当我尝试使用命令构建 gem5 时scons build/X86/gem5.opt -j12
,我收到一条错误消息说
lto1:致命错误:文件“/home/beihai/anaconda3/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.a”中的字节码流使用 LTO 版本 6.0 而不是预期的 8.1 生成
我认为这可能是错误的 gcc 版本的问题。但我不知道如何解决它。
我的系统是Kubuntu 20.04
通过运行gcc -v
,我得到了全局 gcc 版本gcc 版本 9.3.0
通过运行/home/beihai/anaconda/envs/gem5build/bin/x86_64-conda_cos6-linux-gnu-gcc -v
,我得到了 anaconda gcc version gcc version 7.3.0 (crosstoll-NG 1.23.0.449-a04d0)
请告诉我如何解决这个问题。
解决方案
我遇到了几乎相同的问题,除了我说“LTO 版本 6.0 而不是预期的 6.2”。
我搜索了 LTO 兼容性问题的通用解决方案,并从以下链接中获得了一些灵感:https ://github.com/rust-lang/rust/issues/57176 从上面的链接中快速获取:“我已经研究过这是怎么回事与python相关,发现该错误仅发生在通过anaconda安装的python上。”
所以我删除了我的整个 anaconda 软件包,并删除了 Gem5 中的构建目录,并重新运行 scon 命令并添加了“--force-lto”参数,现在安装成功了。希望它也能解决你的问题。
我使用的命令:“scons --force-lto build/X86/gem5.opt -j6”
我的设置是: Ubuntu 18 withe kernel 4.15.0-134-generic g++ --version = g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
推荐阅读
- python - pandas/sqlalchemy/pyodbc: Result object does not return rows from stored proc when UPDATE statement appears before SELECT
- javascript - 如何停止以角度上传零字节图像?
- python - Duo API 目录同步
- asp.net-core - ASP.NET Core AddContext
- botframework - LUIS AI 不返回名称等内置实体
- maven - 构建助手 Maven 插件不删除整个正则表达式
- vue.js - 我应该在 gitignore 中为 nodejs/vuejs 应用程序添加 app.js 文件吗?
- php - 使用带有开始日期和结束日期 PHP 的输入插入表
- c - C 编程,stm32 uint64_t 变量不起作用
- sql-server - 导入时来自 SQL Azure 的 BACPAC 错误