> On Sept. 6, 2013, 3:20 p.m., Steve Reinhardt wrote: > > I'm surprised this is an issue... normally a circular import dependency in > > Python is not a problem, as long as the import isn't used until both > > modules have had a chance to fully load. > > > > What error message do you get? > > Andreas Hansson wrote: > When trying to run gem5, it dies on trying to import m5.internal in > event.py. It claims that the module has no such member. > > This is due to the fully qualified names used by swig as of 2.0.9. > > I don't claim to fully understand why this caused an issue, but I propose > we adopt this for now to enable use on recent versions of popular Linux > distros. > > Steve Reinhardt wrote: > I see... I expect it's really the lookup of 'internal' in the m5 package > that's failing because that import is not complete. > > I'm a little concerned that we might be changing the semantics here... I > don't recall all the trickeries of our Python import framework. Is the event > module still accessible from user scripts via m5.internal.event? If so, then > (1) I have no problem with this and (2) I expect that means that none of the > import statements in this file are necessary. > > Andreas Hansson wrote: > The regressions work, and a few basic runs with se.py and fs.py also show > no issues. Is there something specific you think might break?
The regressions work with only "import core" present in the __init__.py - Andreas ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2003/#review4678 ----------------------------------------------------------- On Sept. 6, 2013, 7:22 a.m., Andreas Hansson wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2003/ > ----------------------------------------------------------- > > (Updated Sept. 6, 2013, 7:22 a.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 9856:aa9d9d4f8f2d > --------------------------- > swig: Fix issue with circular import in 2.0.9/2.0.10 > > This patch fixes an issue which prevented gem5 from running when built > using swig 2.0.9 and 2.0.10. The generated event.py tried to import > m5.internal which in turn relied on importing event. This patch seems > to fix the problem, and so far has not caused any other issues. > > > Diffs > ----- > > src/python/m5/internal/__init__.py a317086a3e19 > > Diff: http://reviews.gem5.org/r/2003/diff/ > > > Testing > ------- > > Built on Ubuntu 10.04, RHE5, Fedora 19, Fedora RawHide, OpenSuse 12.3, OSX > 10.8, with clang 3.2, 3.3, gcc 4.7, 4.8 and swig 2.0.4 and 2.0.9 and 2.0.10 > > > Thanks, > > Andreas Hansson > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
