[libvirt] make dist failed

make dist failed with the following error: make[1]: Entering directory `/home/wency/source/libvirt/src' GEN rpc/virnetprotocol.h GEN rpc/virnetprotocol.c GEN rpc/virkeepaliveprotocol.h GEN rpc/virkeepaliveprotocol.c GEN remote/remote_protocol.h GEN remote/remote_protocol.c GEN remote/qemu_protocol.h GEN remote/qemu_protocol.c GEN remote/qemu_client_bodies.h GEN util/virkeymaps.h CC libvirt_driver_remote_la-remote_protocol.lo In file included from ./remote/remote_protocol.h:17, from ./remote/remote_protocol.c:7: ./internal.h:300:31: error: libvirt_probes.h: No such file or directory

On 2012年06月12日 09:59, Wen Congyang wrote:
make dist failed with the following error:
make[1]: Entering directory `/home/wency/source/libvirt/src' GEN rpc/virnetprotocol.h GEN rpc/virnetprotocol.c GEN rpc/virkeepaliveprotocol.h GEN rpc/virkeepaliveprotocol.c GEN remote/remote_protocol.h GEN remote/remote_protocol.c GEN remote/qemu_protocol.h GEN remote/qemu_protocol.c GEN remote/qemu_client_bodies.h GEN util/virkeymaps.h CC libvirt_driver_remote_la-remote_protocol.lo In file included from ./remote/remote_protocol.h:17, from ./remote/remote_protocol.c:7: ./internal.h:300:31: error: libvirt_probes.h: No such file or directory
Looks like libvirt_probes.h is not generated, is dtrace available on your host? Regards, Osier

At 06/12/2012 02:49 PM, Osier Yang Wrote:
On 2012年06月12日 09:59, Wen Congyang wrote:
make dist failed with the following error:
make[1]: Entering directory `/home/wency/source/libvirt/src' GEN rpc/virnetprotocol.h GEN rpc/virnetprotocol.c GEN rpc/virkeepaliveprotocol.h GEN rpc/virkeepaliveprotocol.c GEN remote/remote_protocol.h GEN remote/remote_protocol.c GEN remote/qemu_protocol.h GEN remote/qemu_protocol.c GEN remote/qemu_client_bodies.h GEN util/virkeymaps.h CC libvirt_driver_remote_la-remote_protocol.lo In file included from ./remote/remote_protocol.h:17, from ./remote/remote_protocol.c:7: ./internal.h:300:31: error: libvirt_probes.h: No such file or directory
Looks like libvirt_probes.h is not generated, is dtrace available on your host?
Yes, dtrace is available on my host. I do it in a clean tree. I guess there is some bug in src/Makefile.am, but I have no time to investigate recently, so I report this bug here. Thanks Wen Congyang
Regards, Osier

On 06/12/2012 12:57 AM, Wen Congyang wrote:
At 06/12/2012 02:49 PM, Osier Yang Wrote:
On 2012年06月12日 09:59, Wen Congyang wrote:
make dist failed with the following error:
make[1]: Entering directory `/home/wency/source/libvirt/src' GEN rpc/virnetprotocol.h GEN rpc/virnetprotocol.c GEN rpc/virkeepaliveprotocol.h GEN rpc/virkeepaliveprotocol.c GEN remote/remote_protocol.h GEN remote/remote_protocol.c GEN remote/qemu_protocol.h GEN remote/qemu_protocol.c GEN remote/qemu_client_bodies.h GEN util/virkeymaps.h CC libvirt_driver_remote_la-remote_protocol.lo In file included from ./remote/remote_protocol.h:17, from ./remote/remote_protocol.c:7: ./internal.h:300:31: error: libvirt_probes.h: No such file or directory
Can you give the steps to reproduce it? I'm assuming this was a fresh git clone, in-tree build, ./autogen.sh with no special options, on GNU/Linux with dtrace available?
Looks like libvirt_probes.h is not generated, is dtrace available on your host?
Yes, dtrace is available on my host. I do it in a clean tree. I guess there is some bug in src/Makefile.am, but I have no time to investigate recently, so I report this bug here.
Uggh. I'm really tired of mucking around with this makefile, because it seems every time I whack one mole, another one pops up. Maybe this time I'll get it right. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

At 06/12/2012 08:55 PM, Eric Blake Wrote:
On 06/12/2012 12:57 AM, Wen Congyang wrote:
At 06/12/2012 02:49 PM, Osier Yang Wrote:
On 2012年06月12日 09:59, Wen Congyang wrote:
make dist failed with the following error:
make[1]: Entering directory `/home/wency/source/libvirt/src' GEN rpc/virnetprotocol.h GEN rpc/virnetprotocol.c GEN rpc/virkeepaliveprotocol.h GEN rpc/virkeepaliveprotocol.c GEN remote/remote_protocol.h GEN remote/remote_protocol.c GEN remote/qemu_protocol.h GEN remote/qemu_protocol.c GEN remote/qemu_client_bodies.h GEN util/virkeymaps.h CC libvirt_driver_remote_la-remote_protocol.lo In file included from ./remote/remote_protocol.h:17, from ./remote/remote_protocol.c:7: ./internal.h:300:31: error: libvirt_probes.h: No such file or directory
Can you give the steps to reproduce it? I'm assuming this was a fresh git clone, in-tree build, ./autogen.sh with no special options, on GNU/Linux with dtrace available?
Steps to reproduce it: 1. use 'git clone' to get a clean tree 2. ./autogen.sh 3. make dist The OS is RHEL6.2, and the configure summary is: configure: Configuration summary configure: ===================== configure: configure: Drivers configure: configure: Xen: no configure: QEMU: yes configure: UML: yes configure: OpenVZ: yes configure: VMware: yes configure: VBox: yes configure: XenAPI: no configure: xenlight: no configure: LXC: yes configure: PHYP: no configure: ESX: yes configure: Hyper-V: no configure: Test: yes configure: Remote: yes configure: Network: yes configure: Libvirtd: yes configure: netcf: yes configure: macvtap: yes configure: virtport: yes configure: configure: Storage Drivers configure: configure: Dir: yes configure: FS: yes configure: NetFS: yes configure: LVM: yes configure: iSCSI: yes configure: SCSI: yes configure: mpath: yes configure: Disk: yes configure: RBD: no configure: configure: Security Drivers configure: configure: SELinux: yes (/selinux) configure: AppArmor: no configure: configure: Driver Loadable Modules configure: configure: dlopen: -export-dynamic -ldl configure: configure: Libraries configure: configure: libxml: -I/usr/include/libxml2 -lxml2 configure: dlopen: -ldl configure: libcurl: -DCURL_DISABLE_TYPECHECK -lcurl configure: openwsman: no configure: libssh2: configure: gnutls: -lgnutls -lgcrypt configure: sasl: -lsasl2 configure: yajl: -lyajl configure: sanlock: -lsanlock_client configure: avahi: -D_REENTRANT -lavahi-common -lavahi-client configure: polkit: /usr/bin/pkcheck (version 1) configure: audit: -laudit configure: selinux: -lselinux configure: apparmor: no configure: numactl: -lnuma configure: capng: -lcap-ng configure: xen: no configure: xenapi: no configure: xenlight: no configure: hal: -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -L/lib64 -lhal -ldbus-1 -lpthread -lrt configure: udev: -ludev -lpciaccess configure: netcf: -lnetcf configure: pcap: -lpcap configure: nl: -lnl configure: mscom: no configure: xdr: configure: configure: Test suite configure: configure: Coverage: no configure: Alloc OOM: no configure: configure: Miscellaneous configure: configure: Debug: yes configure: Use -Werror: yes configure: Warning Flags: -Wall -W -Wformat-y2k -Wformat-security -Winit-self -Wmissing-include-dirs -Wunused -Wunknown-pragmas -Wstrict-aliasing -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wlogical-op -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wvolatile-register-var -Wdisabled-optimization -Wbuiltin-macro-redefined -Wmudflap -Wpacked-bitfield-compat -Wsync-nand -Wattributes -Wcoverage-mismatch -Wdeprecated-declarations -Wdiv-by-zero -Wendif-labels -Wextra -Wformat-contains-nul -Wformat-extra-args -Wformat-zero-length -Wformat=2 -Wmultichar -Wnormalized=nfc -Woverflow -Wpointer-to-int-cast -Wpragmas -Wno-missing-field-initializers -Wno-sign-compare -Wno-format-nonliteral -Wframe-larger-than=4096 -fstack-protector-all --param=ssp-buffer-size=4 -fexceptions -fasynchronous-unwind-ta bles -fdiagnostics-show-option -funit-at-a-time -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Werror configure: Readline: yes configure: Python: yes configure: DTrace: yes configure: numad: no configure: XML Catalog: /etc/xml/catalog configure: Init script: redhat configure: Console locks: /var/lock configure: configure: Privileges configure: configure: QEMU: root:root configure:
Looks like libvirt_probes.h is not generated, is dtrace available on your host?
Yes, dtrace is available on my host. I do it in a clean tree. I guess there is some bug in src/Makefile.am, but I have no time to investigate recently, so I report this bug here.
Uggh. I'm really tired of mucking around with this makefile, because it seems every time I whack one mole, another one pops up. Maybe this time I'll get it right.
I revert some commits and test the building. I find that this problem is introduced by the commit 7bff56a0d1514cb955eb14adc14281626e80e96c. Thanks Wen Congyang

On 06/12/2012 07:21 PM, Wen Congyang wrote:
GEN util/virkeymaps.h CC libvirt_driver_remote_la-remote_protocol.lo In file included from ./remote/remote_protocol.h:17, from ./remote/remote_protocol.c:7: ./internal.h:300:31: error: libvirt_probes.h: No such file or directory
Can you give the steps to reproduce it? I'm assuming this was a fresh git clone, in-tree build, ./autogen.sh with no special options, on GNU/Linux with dtrace available?
Steps to reproduce it: 1. use 'git clone' to get a clean tree 2. ./autogen.sh 3. make dist
As a workaround, does: ./autogen.sh && make && make dist always work? We really shouldn't need to compile a file for a virgin 'make dist' to work, but now I have enough information to repeat it. It may be a while before I have a clean solution, though, since every thing I try implies nuking my tree and starting from a fresh clone module my patch attempt.
I revert some commits and test the building. I find that this problem is introduced by the commit 7bff56a0d1514cb955eb14adc14281626e80e96c.
That was fixing real bugs, but I'm not surprised that other latent bugs were exposed in the process. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

At 06/13/2012 10:25 AM, Eric Blake Wrote:
On 06/12/2012 07:21 PM, Wen Congyang wrote:
GEN util/virkeymaps.h CC libvirt_driver_remote_la-remote_protocol.lo In file included from ./remote/remote_protocol.h:17, from ./remote/remote_protocol.c:7: ./internal.h:300:31: error: libvirt_probes.h: No such file or directory
Can you give the steps to reproduce it? I'm assuming this was a fresh git clone, in-tree build, ./autogen.sh with no special options, on GNU/Linux with dtrace available?
Steps to reproduce it: 1. use 'git clone' to get a clean tree 2. ./autogen.sh 3. make dist
As a workaround, does:
./autogen.sh && make && make dist
always work?
Yes, it works.
We really shouldn't need to compile a file for a virgin 'make dist' to work, but now I have enough information to repeat it. It may be a while before I have a clean solution, though, since every thing I try implies nuking my tree and starting from a fresh clone module my patch attempt.
I revert some commits and test the building. I find that this problem is introduced by the commit 7bff56a0d1514cb955eb14adc14281626e80e96c.
That was fixing real bugs, but I'm not surprised that other latent bugs were exposed in the process.
Yes, that commit fixes a bug, but introduce a new bug. Thanks Wen Congyang

On 06/12/2012 09:07 PM, Wen Congyang wrote:
We really shouldn't need to compile a file for a virgin 'make dist' to work, but now I have enough information to repeat it. It may be a while before I have a clean solution, though, since every thing I try implies nuking my tree and starting from a fresh clone module my patch attempt.
I now have 'make dist' works; if it also passes the longer 'make distcheck' on a virgin tree, then I will push my patch under the build-breaker rule (patch in separate mail). The bug was that we had a file in the tarball that depended on a generated file, which is a no-no. We really need to ship remote_protocol-structs, and we also want 'make check' to ensure that file is up-to-date (which includes a dependency on a generated file), but a little bit of refactoring makes it so that 'make check' need not interfere with 'make dist', by having the two targets depend on different names.
I revert some commits and test the building. I find that this problem is introduced by the commit 7bff56a0d1514cb955eb14adc14281626e80e96c.
That was fixing real bugs, but I'm not surprised that other latent bugs were exposed in the process.
Yes, that commit fixes a bug, but introduce a new bug.
Not a new bug, but a latent one. The bug has been present since July 2011 (commit 62dee6f), but it was the refactoring of commit 7bff56a that exposed it better. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

At 06/13/2012 12:10 PM, Eric Blake Wrote:
On 06/12/2012 09:07 PM, Wen Congyang wrote:
We really shouldn't need to compile a file for a virgin 'make dist' to work, but now I have enough information to repeat it. It may be a while before I have a clean solution, though, since every thing I try implies nuking my tree and starting from a fresh clone module my patch attempt.
I now have 'make dist' works; if it also passes the longer 'make distcheck' on a virgin tree, then I will push my patch under the build-breaker rule (patch in separate mail). The bug was that we had a file in the tarball that depended on a generated file, which is a no-no. We really need to ship remote_protocol-structs, and we also want 'make check' to ensure that file is up-to-date (which includes a dependency on a generated file), but a little bit of refactoring makes it so that 'make check' need not interfere with 'make dist', by having the two targets depend on different names.
I apply your patch, and the problem does not exist. Thanks Wen Congyang
I revert some commits and test the building. I find that this problem is introduced by the commit 7bff56a0d1514cb955eb14adc14281626e80e96c.
That was fixing real bugs, but I'm not surprised that other latent bugs were exposed in the process.
Yes, that commit fixes a bug, but introduce a new bug.
Not a new bug, but a latent one. The bug has been present since July 2011 (commit 62dee6f), but it was the refactoring of commit 7bff56a that exposed it better.

Another building error: error: parse error in expression error: /data1/wency/libvirt/libvirt.spec:138: parseExpressionBoolean returns -1 But I cannot reproduce this problem on another machine. Steps to reproduce it: 1. ./autogen.sh 2. make dist 3. rpmbuild --define "_sourcedir `pwd`" --define "_without-numad 1" -ba libvirt.spec

On 06/12/2012 08:01 PM, Wen Congyang wrote:
Another building error:
error: parse error in expression error: /data1/wency/libvirt/libvirt.spec:138: parseExpressionBoolean returns -1
Fixed by commit 48939a4a. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

At 06/13/2012 09:59 AM, Eric Blake Wrote:
On 06/12/2012 08:01 PM, Wen Congyang wrote:
Another building error:
error: parse error in expression error: /data1/wency/libvirt/libvirt.spec:138: parseExpressionBoolean returns -1
Fixed by commit 48939a4a.
Yes, I forgot to pull the newest code Thanks Wen Congyang
participants (3)
-
Eric Blake
-
Osier Yang
-
Wen Congyang