First, please note this page: http://gem5.org/Reporting_Problems
This question really belongs on gem5-users, and you need to report the full
command line you're using to compile, and the specific revisions of the
relevant tools you're using.  What is the specific version of g++ you have?
 I only know that it's some flavor of 4.4 because of the paths in your
error message.

Going back to your original email, gem5-stable is only 4 months old, so it
should not have problems with g++ 4.4.  There are even some 4.6 fixes in
gem5-stable, though there are a few more that are only in dev.  So I'm very
suspicious about your initial problem.  In fact I have g++ 4.4.3  on my own
machine, and it compiles gem5-stable and gem5-dev just fine, though this
is on Ubuntu 10.04 and not redhat.

Note that Andreas introduced some pretty complex preprocessor logic in
src/base/hashmap.hh recently, so I wouldn't be too surprised if there are
some corner cases that are wrong.  I haven't worked on that code though so
I can't speculate what the issue might be.  Any thoughts, Andreas?

Steve

On Thu, May 3, 2012 at 8:22 PM, GE ZHIGUO <[email protected]> wrote:

> I encountered some problems when compiling gem5-dev branch codes on ubuntu
> system.
> It seems that the problem is caused by the function declaration conflict
> between gem5 and g++ .
>
> Could anyone help me with this? Thanks!
>
>
> In file included from build/ARM/arch/arm/types.hh:48,
>                 from build/ARM/arch/arm/isa_traits.hh:48,
>                 from build/ARM/arch/arm/tlb.hh:48,
>                 from build/ARM/arch/tlb.hh:1,
>                 from build/ARM/cpu/base.cc:50:
> build/ARM/base/hashmap.hh:157: error: specialization of
> 'std::tr1::hash<long long unsigned int>' after instantiation
> build/ARM/base/hashmap.hh:157: error: redefinition of 'struct
> std::tr1::hash<long long unsigned int>'
> /usr/include/c++/4.4/tr1_impl/functional_hash.h:39: error: previous
> definition of 'struct std::tr1::hash<long long unsigned int>'
> build/ARM/base/hashmap.hh:164: error: specialization of
> 'std::tr1::hash<long long int>' after instantiation
> build/ARM/base/hashmap.hh:164: error: redefinition of 'struct
> std::tr1::hash<long long int>'
> /usr/include/c++/4.4/tr1_impl/functional_hash.h:39: error: previous
> definition of 'struct std::tr1::hash<long long int>'
> scons: *** [build/ARM/cpu/base.fo] Error 1
> scons: building terminated because of errors.
>
>
>
>
>
> _______________________________________________
> gem5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/gem5-dev
>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to