
On Wed, Oct 14, 2020 at 10:44:53 +0800, zhenwei pi wrote:
On 10/13/20 8:31 PM, Daniel Henrique Barboza wrote:
This patch failed to compile in my env:
FAILED: tools/virsh.p/virsh-domain.c.o [....] -D_FUNCTION_DEF -MD -MQ tools/virsh.p/virsh-domain.c.o -MF tools/virsh.p/virsh-domain.c.o.d -o tools/virsh.p/virsh-domain.c.o -c ../tools/virsh-domain.c In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9, from /usr/include/glib-2.0/glib/gtypes.h:32, from /usr/include/glib-2.0/glib/galloca.h:32, from /usr/include/glib-2.0/glib.h:30, from ../src/util/glibcompat.h:21, from ../src/internal.h:30, from ../tools/virsh.h:25, from ../tools/virsh-domain.h:23, from ../tools/virsh-domain.c:22: /usr/include/glib-2.0/glib/gmacros.h:745:53: error: size of array ‘_GStaticAssertCompileTimeAssertion_185’ is negative 745 | #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1] G_GNUC_UNUSED | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:735:47: note: in definition of macro ‘G_PASTE_ARGS’ 735 | #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 | ^~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:745:44: note: in expansion of macro ‘G_PASTE’ 745 | #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1] G_GNUC_UNUSED | ^~~~~~~ ../tools/virsh-domain.c:13643:1: note: in expansion of macro ‘G_STATIC_ASSERT’ 13643 | G_STATIC_ASSERT(VIR_DOMAIN_EVENT_ID_LAST == G_N_ELEMENTS(virshDomainEventCallbacks)); | ^~~~~~~~~~~~~~~ [505/984] Compiling C object src/virtqemud.p/remote_remote_daemon_dispatch.c.o ninja: build stopped: subcommand failed. $
I didn't verify if the following patches fixes it.
Thanks,
DHB
I described it in '[PATCH v2 4/4] virsh: implement memory failure event'
Notice: The full patch set includes 4 patches: virsh: implement memory failure event (current patch) qemu: monitor: handle memory failure event qemu: process: implement domainMemoryFailure API: introduce memory failure
To avoid build/test errors, the 4 patches should be merged/removed together.
No, they just need to be moved into appropriate order so that they can be built. There's no point splitting them just to merge them later.
Suggested by Peter, separate a 'all in one' patch into 4 patches (described in cover letter '[PATCH v2 0/4] support memory failure'). I forked a repo and pushed the 4 patches(https://gitlab.com/pacepi/libvirt/-/tree/memory-failure-v2), CI worked fine.
Our contribution guidelines required that the tree builds successfully after every single patch: https://libvirt.org/hacking.html Section "Preparing patches": "If you're going to submit multiple patches, the automated tests must pass *after each patch*, not just after the last one."