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
