[OE-core] [PATCH 1/1] telepathy-mission-control: do_compile failed (race issue)

Burton, Ross ross.burton at intel.com
Tue Sep 17 11:12:40 UTC 2013


On 17 September 2013 03:03, Robert Yang <liezhi.yang at windriver.com> wrote:
> I don't think that the commit you mentioned is a correct fix, he changed:
>
> gen/gtypes.h _gen/gtypes-body.h: _gen/stable-spec.xml
>
> To:
>
> gen/gtypes.h: _gen/gtypes-body.h
>         @:
> gen/gtypes-body.h: _gen/stable-spec.xml
>
> Now if we run "make gen/gtypes.h gen/gtypes-body.h", the gen/gtypes-body.h
> will only run once, this is incorrect.

But the Python script used in the second rule generates *both* files,
which is why the current rules in telepathy-mission-control are
incorrect:

~/Local/mess/37/telepathy-mission-control/src
$ ls _gen/gtypes*
_gen/gtypes-body.h  _gen/gtypes.h

~/Local/mess/37/telepathy-mission-control/src
$ rm _gen/gtypes* -f

~/Local/mess/37/telepathy-mission-control/src
$ make _gen/gtypes.h
/usr/bin/python ../tools/glib-gtypes-generator.py \
_gen/mcd.xml _gen/gtypes mc

~/Local/mess/37/telepathy-mission-control/src
$ ls _gen/gtypes*
_gen/gtypes-body.h  _gen/gtypes.h

The anti-pattern of:

foo bar:
  this-script-generates-both-files.sh

is wrong in parallel builds.

Ross



More information about the Openembedded-core mailing list