OK, I think I see what the problem might be. In src/cpu/memtest/SConscript, we have:
if 'O3CPU' in env['CPU_MODELS']: SimObject('MemTest.py') So basically the MemTest object only gets compiled in if the O3CPU is configured... that doesn't make any sense to me. I'm guessing it's just a historical thing, where it never should have been set up that way but we never noticed before. hg says it's Nate's fault, so I'll let him clarify. Somayeh, I think just taking out that 'if' and making everything in that SConscript file unconditional could easily solve your problem. Steve On Tue, Aug 18, 2009 at 10:53 AM, Steve Reinhardt<ste...@gmail.com> wrote: > Actually the "default=ALPHA_SE" in Somayeh's specific command line > should be a complete no-op. All "default=FOO build/BAR/*" does is > that if there are no existing variable settings in build/variables/BAR > (from a previous build) then the initial settings are read out of > build_opts/FOO instead of build_opts/BAR. If FOO=BAR then barring a > bug in the SConstruct file there should be no impact at all. If > you've ever built in build/BAR before then a build/variables/BAR file > should exist and the "default=" option is also ignored. > > Steve > > On Tue, Aug 18, 2009 at 10:41 AM, nathan binkert<n...@binkert.org> wrote: >> I've never used the default= thing (though I do know in theory what it >> should do.) Does it work if you don't use the default= option? >> >> Nate >> >> On Mon, Aug 17, 2009 at 8:11 PM, <soma...@cs.wisc.edu> wrote: >>> The point is that even when I compile like this: >>> >>> scons default=ALPHA_SE build/ALPHA_SE/libm5_fast.so USE_MYSQL=No Ruby=True >>> PROTOCOL=MI_example CPU_MODELS=AtomicSimpleCPU >>> >>> and then run with: >>> scons build/ALPHA_SE/tests/fast/quick/50.memtest/alpha/linux/memtest-ruby >>> >>> I see this in simerr: >>> Traceback (most recent call last): >>> File "<string>", line 1, in ? >>> File >>> "/afs/cs.wisc.edu/p/multifacet/users/somayeh/new_rocks/gem5/src/python/m5/main.py", >>> line 359, in main >>> exec filecode in scope >>> File "tests/run.py", line 65, in ? >>> execfile(joinpath(tests_root, 'configs', config + '.py')) >>> File "tests/configs/memtest-ruby.py", line 35, in ? >>> cpus = [ MemTest() for i in xrange(nb_cores) ] >>> NameError: name 'MemTest' is not defined >>> >>> Somayeh >>> >>>> LIBRUBY_MESI_CMP_directory is just the directory that the Rocks >>>> makefile will put M5. It is m5 compiled as: >>>> >>>> scons default=ALPHA_SE build/LIBRUBY_MESI_CMP_directory/libm5_fast.so >>>> USE_MYSQL=No Ruby=True PROTOCOL=MESI_CMP_directory >>>> CPU_MODELS=AtomicSimpleCPU >>>> >>>> -Derek >>>> >>>> On Mon, Aug 17, 2009 at 8:50 PM, nathan binkert<n...@binkert.org> wrote: >>>>> You're building in a nonstandard way and you haven't committed your >>>>> code or shown it to me, so I'm not sure how to help. You're not using >>>>> ALPHA_SE, but something else. What is that somethign else? What does >>>>> it do? >>>>> >>>>> Nate >>>>> >>>>> On Mon, Aug 17, 2009 at 6:42 PM, Somayeh Sardashti<soma...@cs.wisc.edu> >>>>> wrote: >>>>>> Yes, it is not in the tree because I have not pushed it yet. >>>>>> However I have the same problem with even MI_example. >>>>>> >>>>>> nathan binkert wrote: >>>>>>> What is the configuration for LIBRUBY_MESI_CMP? As far as I know, >>>>>>> this is not in the development tree. >>>>>>> >>>>>>> On Mon, Aug 17, 2009 at 3:30 PM, Somayeh >>>>>>> Sardashti<soma...@cs.wisc.edu> wrote: >>>>>>>> Hi, >>>>>>>> >>>>>>>> I have found that in new version of gem5, when we make a protocol it >>>>>>>> does not create ALPHA_SE directory. It instead creates a specific >>>>>>>> directory like LIBRUBY_MESI_CMP_directory. >>>>>>>> >>>>>>>> Then I tried to run it using this: >>>>>>>> >>>>>>>> scons >>>>>>>> build/LIBRUBY_MESI_CMP_directory/tests/fast/quick/50.memtest/alpha/linux/memtest-ruby >>>>>>>> >>>>>>>> but it fails with this error in simerr: >>>>>>>> >>>>>>>> Traceback (most recent call last): >>>>>>>> File "<string>", line 1, in ? >>>>>>>> File >>>>>>>> "/afs/cs.wisc.edu/p/multifacet/users/somayeh/new_rocks/gem5/src/python/m5/main.py", >>>>>>>> line 359, in main >>>>>>>> exec filecode in scope >>>>>>>> File "tests/run.py", line 65, in ? >>>>>>>> execfile(joinpath(tests_root, 'configs', config + '.py')) >>>>>>>> File "tests/configs/memtest-ruby.py", line 35, in ? >>>>>>>> cpus = [ MemTest() for i in xrange(nb_cores) ] >>>>>>>> NameError: name 'MemTest' is not defined >>>>>>>> >>>>>>>> How can I fix this problem? >>>>>>>> Is the command that I am using wrong? (scons >>>>>>>> build/LIBRUBY_MESI_CMP_directory/tests/fast/quick/50.memtest/alpha/linux/memtest-ruby) >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Somayeh >>>>>>>> _______________________________________________ >>>>>>>> m5-dev mailing list >>>>>>>> m5-dev@m5sim.org >>>>>>>> http://m5sim.org/mailman/listinfo/m5-dev >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> m5-dev mailing list >>>>>>> m5-dev@m5sim.org >>>>>>> http://m5sim.org/mailman/listinfo/m5-dev >>>>>> >>>>>> _______________________________________________ >>>>>> m5-dev mailing list >>>>>> m5-dev@m5sim.org >>>>>> http://m5sim.org/mailman/listinfo/m5-dev >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> m5-dev mailing list >>>>> m5-dev@m5sim.org >>>>> http://m5sim.org/mailman/listinfo/m5-dev >>>>> >>>> _______________________________________________ >>>> m5-dev mailing list >>>> m5-dev@m5sim.org >>>> http://m5sim.org/mailman/listinfo/m5-dev >>>> >>> >>> >>> _______________________________________________ >>> m5-dev mailing list >>> m5-dev@m5sim.org >>> http://m5sim.org/mailman/listinfo/m5-dev >>> >>> >> _______________________________________________ >> m5-dev mailing list >> m5-dev@m5sim.org >> http://m5sim.org/mailman/listinfo/m5-dev >> > _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev