Basically, sc_peq.hh needs to include the actual bits of TLM that it's
using, not blanketly including tlm.h. tlm.h is the externally facing header
which non-gem5 aware code would include, but since sc_peq.hh is gem5 aware,
it can include specific gem5 headers and avoid bringing in bind.hpp with
the wider tlm.h net.

On Tue, Nov 5, 2019 at 6:36 PM Jason Lowe-Power <[email protected]> wrote:

> Hey Gabe,
>
> I (well, Hoa) was able to track this down a little bit. See the traceback
> below. It looks like since Gem5ToTlmBridge is a SimObject, it's compiled in
> by default pulling in the tlm header file.
>
> In file included from build/X86/systemc/ext/tlm:24:0,
>                  from build/X86/systemc/ext/tlm.h:22,
>                  from build/X86/systemc/tlm_bridge/sc_peq.hh:41,
>                  from build/X86/systemc/tlm_bridge/gem5_to_tlm.hh:75,
>                  from build/X86/python/_m5/param_Gem5ToTlmBridge64.cc:9:
> build/X86/systemc/ext/systemc:37:10: fatal error: boost/bind.hpp: No such
> file or directory
>  #include <boost/bind.hpp>
>           ^~~~~~~~~~~~~~~~
> compilation terminated.
>
> It would be great to fix this. It's been bugging me for a while that boost
> has become a required dependency. I'm not sure what is needed and what
> isn't. With some guidance we can take a stab at fixing this.
>
> Thanks,
> Jason
>
> On Mon, Nov 4, 2019 at 1:47 PM Gabe Black <[email protected]> wrote:
>
>> I agree with Ciro, but will add that things should work with version 7
>> and boost is not supposed to be a dependency. The systemc standard *claims*
>> that boost is not required, just specifying some macros that resolve to
>> boost code. Unfortunately in reality, the Accellera implementation includes
>> boost directly, and their tests (which we try to pass) break if we don't do
>> that too. The headers are set up in such a way that that include *should*
>> be isolated though, unless you've included one of the top level systemc
>> includes like <systemc> or <tlm>. That way gem5 itself doesn't require
>> boost, and if you're using systemc, you'd need it even if you were using
>> Accellera instead.
>>
>> If you can identify where that include is coming from, we should fix that
>> as soon as possible.
>>
>> Gabe
>>
>> On Mon, Nov 4, 2019 at 1:30 PM Ciro Santilli <[email protected]>
>> wrote:
>>
>>> On Mon, Nov 4, 2019 at 8:09 PM Andreas Brokalakis <[email protected]>
>>> wrote:
>>> >
>>> > Hi all,
>>> >
>>> > I am trying to compile gem5 cloned from the official repository on
>>> Ubuntu 19.10 with gcc 9.2.1 installed. I keep on getting errors that make
>>> practically the compilation process impossible.
>>> >
>>> > The first errors were about implicitly-declared things all over the
>>> code. I managed to workaround them by adding the option
>>> -Wno-error=deprecated-copy . Then there were errors all over the place
>>> about redundant move in return statement. The only way I managed to
>>> workaround this was by falling back on gcc 7.
>>> >
>>>
>>> Things break for every new major GCC version due to more strict error
>>> checking, patches that fix them without ignoring errors are welcome
>>> :-)
>>>
>>> > After that there was an error about not finding boost/bind.hpp .
>>> Installing boost is not a documented dependency and I only found this on
>>> gem5-dev mailing list:
>>> https://www.mail-archive.com/[email protected]/msg28734.html
>>> >
>>> > From my understanding this is a dependency for when building something
>>> that requires interaction with SystemC. Should it be there when building
>>> mainline versions of GEM5? Also it is not documented and maybe instructions
>>> on building gem5 should be updated (they are already very old).
>>> >
>>>
>>> Previous discussion at:
>>> https://www.mail-archive.com/[email protected]/msg28730.html and I've
>>> now updated the dependencies page: http://www.gem5.org/Dependencies
>>>
>>> > Best,
>>> > Andreas
>>> > _______________________________________________
>>> > gem5-users mailing list
>>> > [email protected]
>>> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>> _______________________________________________
>>> gem5-users mailing list
>>> [email protected]
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>> _______________________________________________
>> gem5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to