首页 > 解决方案 > 构建 gem5 和 nvmain 时的 ModuleNotFoundError AbstractMemory

问题描述

遵循SEAL-UCSB/NVmain上的构建步骤后,当我运行

scons EXTRAS=../NVmain build/X86/gem5.opt

我收到以下错误。

ModuleNotFoundError: No module named 'AbstractMemory':
  File "/project/gem5/SConstruct", line 1243:
    SConscript('src/SConscript', variant_dir=variant_path,
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 660:
    return method(*args, **kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 597:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 286:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "/project/hsieh123/gem5/build/X86/SConscript", line 783:
    exec('from m5.objects import %s' % modname)
  File "<string>", line 1:
    
  File "/project/hsieh123/gem5/build/X86/SConscript", line 763:
    exec(compiled, mod.__dict__)
  File "/project/hsieh123/NVmain/Simulators/gem5/NVMainMemory.py", line 34:
    from AbstractMemory import *

标签: gem5nvmain

解决方案


这是由于 gem5 版本更新和与 gem5 的 nvmain 集成已经过时了。NVmain/Simulators/gem5/NVMainMemory.py我的解决方案是替换Ln: 34-35 处的两行

from AbstractMemory import *
from ClockDomain import *

from m5.objects.AbstractMemory import *
from m5.objects.ClockDomain import *

推荐阅读