[libvirt] [PATCH v4 2/2] src/Makefile: Fix parallel build after xen_xl_disk parser introduction

Eric Blake eblake at redhat.com
Thu Jan 8 22:49:27 UTC 2015


On 01/08/2015 06:46 AM, Pavel Hrdina wrote:
> On 01/08/2015 02:31 PM, Daniel P. Berrange wrote:
>> On Thu, Jan 08, 2015 at 02:20:25PM +0100, Pavel Hrdina 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.
>>
>> The second sentance can be removed, since the movement is in the
>> previous patch now.
>>
>>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>>> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
>>> ---
>>>   src/Makefile.am | 21 ++++++++++++++++-----
>>>   1 file changed, 16 insertions(+), 5 deletions(-)
>>
>> ACK assuming you tested both VPATH & non-VPATH builds.

I'm now seeing a 'make distcheck' failure.  Remember, during 'make
distcheck', automake arranges to change the source directory tree to
read-only, then does a VPATH build of that location.  If any make rule
tries to write into the source directory, it is a sign that the tarball
has incorrect timestamps.  And sure enough:

make[3]: Entering directory
'/home/eblake/libvirt-tmp/build/libvirt-1.2.12/_build/src'
  LEX      xenconfig/xen_xl_disk.h
flex: could not create
/home/eblake/libvirt-tmp/build/libvirt-1.2.12/src/xenconfig/xen_xl_disk.c
Makefile:10402: recipe for target 'xenconfig/xen_xl_disk.h' failed
make[3]: *** [xenconfig/xen_xl_disk.h] Error 1

although the failure details aren't mentioned, it is because this is the
phase of the build where srcdir is read-only.

We're making progress, but it looks like we still need more patches in
this area to make sure things are correct (possibly as simple as
distributing the witness timestamp file, so that make from a fresh
tarball sees no reason to re-run flex?).

-- 
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/20150108/da7c1cfa/attachment-0001.sig>


More information about the libvir-list mailing list