On 3/25/12 2:22 AM, Jonathan "Duke" Leto wrote:
Howdy,
I just fixed this in d1142ed .
The problem was that Jim accidentally removed a dependency on
miniparrot for pr0.pbc . This only broke the build when using -jX
where X> 1.
Duke, thanks for catching and fixing this.
There are some ironies in this. First, it was only when I recently read
the draft version of nine's thesis that I became aware of how much of a
change the advent of multicore machines has meant since the middle of
the last decade. So it was only recently that I decided to see whether
'make -j4' would work on my Linode. When it did not, I assumed it was
the machine's fault rather than the fault of my revisions to
config/gen/makefiles/root.in. So, during testing, I simply omitted the
'-j4' and everything worked fine.
Second, you may recall that in makefiles hard-tabs are significant. It
often seems, however, that one can get away with leading wordspaces
where a leading hard-tab is what is "officially" required. I know that
in past cleanups of the makefile templates I have substituted leading
hard-tabs for leading wordspaces with no change in functionality. Here,
however, we have a case where the leading hard-tab is crucial. Why?
Because in the two code segments in the question the first line in the
template file ends with '$(MINIPARROT)' while the second begins with
'[hard-tab]$(MINIPARROT)'. If one is not paying attention to the
hard-tab, one can come to the *incorrect* conclusion that the second
'$(MINIPARROT)' is redundant and can be removed -- which is what I did,
and which is what worked until nine tested with '-j6'.
Implication: We should add something to the documentation for
config/gen/makefiles/root.in (and perhaps other files) to alert people
to this possible source of error. I will do that now.
Thank you very much.
Jim Keenan
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev