[libvirt] [PATCH] Makefile: Fix parallel build after Xen-xl parser introduction

Eric Blake eblake at redhat.com
Mon Jan 5 23:51:32 UTC 2015


On 01/05/2015 07:03 AM, Michal Privoznik wrote:
> Well, the parallel build doesn't work as there are not dependencies
> set correctly. When running 'make -j' I see this error:
> 
> make[2]: Entering directory '/home/zippy/work/libvirt/libvirt.git/src'
>   GEN      util/virkeymaps.h
>   GEN      locking/lock_protocol.h
> make[2]: *** No rule to make target 'xenconfig/xen_xl_disk.h', needed by 'all'.  Stop.
> make[2]: *** Waiting for unfinished jobs....
>   GEN      lxc/lxc_controller_dispatch.h
> 
> The fix is to correctly set dependencies by letting make know that .c
> and .h are to be generated from .l. Moreover, the section is moved
> closer to the other section which uses it.

Have you also tested VPATH builds?  With an in-tree build, I reproduced
your failure with 'make -j3', then the failure went away with plain
'make'; but in a VPATH build, even plain 'make' is still failing without
your patch:

make[5]: Entering directory '/home/eblake/libvirt-tmp/build4/src'
  CC       xenconfig/libvirt_xenconfig_la-xen_xl.lo
../../src/xenconfig/xen_xl.c:29:25: fatal error: xen_xl_disk.h: No such
file or directory
 #include "xen_xl_disk.h"
                         ^
compilation terminated.
Makefile:9450: recipe for target
'xenconfig/libvirt_xenconfig_la-xen_xl.lo' failed

which means I'm not even sure if we are being careful about the
distinction between srcdir and builddir.

I haven't looked closely at your proposed patch yet, but it's on my list
now.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150105/6bc9593e/attachment-0001.sig>


More information about the libvir-list mailing list