On 01/07/2015 10:17 AM, 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. Still not working for me in VPATH, and I still haven't figured out why... :) Meanwhile, since we are NOT storing the generated files in git, we have a choice: 1. the generated files should be part of the tarball (and generate them into srcdir, not builddir, which makes this patch's attempts to override automake's rules wrong) 2. the generated files should NOT be part of the tarball, and users that want to build the xen drivers MUST have flex installed locally (GNU coding standards discourage this, but we already require users to install GNU make locally, which is also against GNU coding standards) I'd lean towards 1 (which is part of why I'm not sure I like this patch, but what is also taking me time to come up with an alternative), but can live with 2 if we get it working. But observe what happens right now if you don't have flex. Configure succeeds, then make fails: LEX xenconfig/xen_xl_disk.c /home/eblake/libvirt/build-aux/missing: line 81: flex: command not found WARNING: 'flex' is missing on your system. You should only need it if you modified a '.l' file. You may want to install the Fast Lexical Analyzer package: <http://flex.sourceforge.net/> I'd MUCH rather that we fix things to fail at configure time if flex is not installed but xen must be built rather than delaying failure to make time (or put another way, if flex is not present and xen is not explicitly requested, then configure should default to not attempting xen). It probably also means that we need to update bootstrap.conf (especially if we go with option 1, to make sure developers can produce a working tarball) and/or config.spec (to make sure rpms can build xen parts for Fedora) to require flex. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list