如何解决无法在带有 anaconda 的机器上构建 gem5:“lto1:致命错误:字节码流”
当我尝试使用命令 scons build/X86/gem5.opt -j12
构建 gem5 时,我收到一条错误消息说
lto1:致命错误:使用 LTO 6.0 版生成的文件“/home/beihai/anaconda3/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.a”中的字节码流而不是预期的 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 版本 gcc 版本 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中的build目录,并使用额外的“--force-lto”参数重新运行scon命令,现在安装成功。希望它也能解决您的问题。
我使用的命令:“scons --force-lto build/X86/gem5.opt -j6”
我的设置是: 带有内核 4.15.0-134-generic 的 Ubuntu 18 g++ --version = g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。