[PATCH] libXi: man: add dependency on libman_txt to libman_ref target.

Peter Hutterer peter.hutterer at who-t.net
Mon Aug 3 20:51:52 PDT 2009


On Mon, Aug 03, 2009 at 07:51:02PM -0700, Dan Nicholson wrote:
> On Mon, Aug 3, 2009 at 7:39 PM, Peter Hutterer<peter.hutterer at who-t.net> wrote:
> > libman_ref are all the refpages that are just links to the actual man page
> > (e.g. XIUngrabButton.man is a refpage to XIGrabButton.man).
> >
> > This patch forces the all actual man pages to be complete before the
> > refpages target can be started.
> >
> > Previously, some ref pages could have started parallel to the man pages
> > still being generated. The ref pages rely on their respective man pages but
> > they may not have existed yet, leading to build errors.
> >
> > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> > ---
> > I think this should be the correct approach to address the parallel build
> > errors we see in libXi, at least I can't reproduce it anymore with different
> > -j settings.
> 
> I don't see how it makes any difference, really. Take
> XChangeDeviceControl.man, for instance. Rather than just waiting for
> XGetDeviceControl.man to show up, it will now wait for all the real
> manpages to show up. It really shouldn't need to do that for any
> reason. Now consider the situation where XChangeDeviceControl.man
> doesn't exist for some reason. We want to trigger
> XGetDeviceControl.man to get rebuilt, but now the rule has all the
> real pages as prerequisites. This will cause all the pages to get
> removed and rebuilt. It's a pretty big hammer, but it would work if
> you're not confident in the approach that's in there.
>
> Also, I played around quite a bit this morning on this and I'm pretty
> sure that what's in their now works.

It doesn't. MAKEFLAGS=-j 5 gives me consistent build errors without this
patch. try 'git clean -dxf && ./autogen.sh && make'. it's just the first run
of make that breaks.

anyway, I found the real problem while writing this email. some ref targets
didn't have the necessary .man, so the target was
XIUndefineCursor: XIDefineCursor.man
instead of
XIUndefineCursor.man: XIDefineCursor.man

bloody thing was hard to spot, I read over that a zillion times.
XDeviceTimeCoords was affected by this too. 

So nevermind about the patch before, I'll just fix up the two targets.

Cheers,
  Peter


More information about the xorg-devel mailing list