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

Reply via email to