Scons 在 Manjaro (Arch) Linux 上构建 gem5 模拟器时抛出语法错误



我需要为计算机体系结构类设置一个 gem5 模拟器。下载 Scons 的所有依赖项并运行 ALPHA 模拟器的构建命令后,python 会抛出语法错误(如下所示(,在创建 SystemExit 异常期间标记使用逗号。

为了解决这个问题,我尝试使用 python2 和 python3 运行 scons。我什至尝试在虚拟机中运行我的作业,但无济于事。熟悉 Scons 的人能否解释此错误的来源以及如何补救它。将不胜感激。

命令冉:

scons build/ALPHA/gem5.opt -j4

错误信息:

*** Error loading site_init file './site_scons/site_init.py':
File "./site_scons/site_init.py", line 52
except SystemExit, e:
^
SyntaxError: invalid syntax

操作系统:Manjaro Linux x86_64

内核: 4.19.66-1-曼扎罗

Python3版本: Python 3.7.4

Python2版本: Python 2.7.16

最新版本的 Scons

编辑

这是有关该问题的存档对话的链接。令人沮丧的是,它接近于提供解决方案,但这就是我迄今为止在这个问题上发现的全部内容。搜索仍在继续。

你看到的问题看起来应该只发生在Python 3.5+和SCons 3.0.0+上

*** Error loading site_init file './site_scons/site_init.py':
File "./site_scons/site_init.py", line 52
except SystemExit, e:
^
SyntaxError: invalid syntax

site_scons/site_init.py 是您下载构建的包中的一个文件,它使用的是 Python 3+ 不允许的 python except 语句形式。

将其更改为:

except SystemExit as e:

有关 python 3 和异常的详细信息,请参阅:https://docs.python.org/3/tutorial/errors.html。

请注意,一旦解决了这个问题以及您遇到的任何其他问题,您可能应该向 gem 项目发出拉取请求或发送补丁。

最新更新