[illumos-Developer] Requesting code review for bug #515 ...

Garrett D'Amore garrett at damore.org
Thu Dec 16 18:27:34 PST 2010


Given that your changes make this ugliness worse, I think you should try to go ahead and fix the waits too.

Roland Mainz <roland.mainz at nrubsig.org> wrote:

>On Fri, Dec 17, 2010 at 2:32 AM, Eric Schrock <eric.schrock at delphix.com> wrote:
>> On Thu, Dec 16, 2010 at 8:18 PM, Roland Mainz <roland.mainz at nrubsig.org>
>> wrote:
>>> The issues with .WAIT are known. The goal for _this_ patch is only to
>>> provide a _low_-risk fix for the current sporadic parallel build
>>> bustage by adding _all_ dependicies (except the one for "libc") only.
>>> There should be no dependicy removals or a larger restructuration (or
>>> sorting the list... Garrett said I should defer that to later, too) -
>>> the goal for this bug is to fix the bustage only (because it blocks
>>> (or delays) contributions).
>>
>> I'm confused as to what the actual breakage is.  Most of what you've done
>> doesn't actually have any effect on the build process, and the one issue
>> mentioned in the bug doesn't make sense to me (see below).
>
>One of the four issues I hit is described in
>http://www.illumos.org/issues/514 ... the basic problem is that
>usr/src/lib/Makefile only seems to describe much of the dependicies in
>a trial&&error manner but not as full dependicies.
>
>>> > How exactly does this situation get interpreted by make?
>>>
>>> "make" will honor the .WAIT and the dependices.
>>
>> I'm not sure I understand.  You've changed the Makefile such that:
>> 1. 'A' must be built before 'B' (enforced by .WAIT)
>
>Erm... I didn't touch _any_ .WAIT statements intentionally.
>
>> 2. 'A' depends on 'B' being built first (enforced by dependencies)
>> Where 'A' is libnwam and 'B' is libbsm.  I'm not a make expert, but how can
>> both these constraints be honored at the same time?
>
>AFAIK both mechanisms work in different layers:
>1. Dependicies define the sort order when "make" prepares the list in
>which it wants to execute the tasks. This list is prepared before
>anything is launched.
>2. ".WAIT" is dumb and just waits until all outstanding tasks
>_launched_ before this point have been completed (this works analogous
>to the special shell buitin "wait" called without arguments). It will
>AFAIK not care if a task was not lauched before this point because
>it's dependicies couldn't be met.
>3. The task "missing" will be scheduled by "make" as soon all
>dependicies have been met
>4. This only works for the case you have described because the build
>system has the libraries already installed (which is the part I'd like
>to get rid off as final (not this bug) result)
>
>I know this is stupid+brainmelting+horrible and I agree the whole
>stuff with the ".WAIT" should go... but not this time.
>
>----
>
>Bye,
>Roland
>
>-- 
>  __ .  . __
> (o.\ \/ /.o) roland.mainz at nrubsig.org
>  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
>  /O /==\ O\  TEL +49 641 3992797
> (;O/ \/ \O;)
>
>_______________________________________________
>Developer mailing list
>Developer at lists.illumos.org
>http://lists.illumos.org/m/listinfo/developer


More information about the Developer mailing list