On Mon, 21 Jun 2010 14:51:01 -0400, Steven Schveighoffer wrote: > I've been trying to get a modified version of std.process to compile > (with Lars K's changes) for windows, and phobos finally compiled. > > So I built a little test program, compiled it, and I get the following > error message: > > object.Exception: circular dependency in module std.stdio. > > Great. How did that happen? Being that I didn't write std.stdio, only > modified it slightly (and certainly didn't change any imports), I > haven't the foggiest where this problem is. Given that the runtime can > prove there is a circular dependency, and apparently knows the names of > the modules, how about showing me the cycle? > > :P > > I do not look forward to tracking this one down... > > -Steve
I think the only places that exception can be thrown are lines 1770 and 1830 of object.d. Luckily there are a few debug(PRINTF)printf()s nearby. You could try building druntime with -debug=PRINTF. When the static constructors are run, hopefully you'll see something like ... module[x] = std.stdio ... module[y] = module.depending.cyclically.on.stdio module[z] = std.stdio object.Exception: Cyclic dependency in module std.stdio. -Lars