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

Reply via email to