On Mon, May 18, 2020 at 11:31 AM Daniel P. Berrangé <berrange@xxxxxxxxxx> wrote: > > On Sun, May 17, 2020 at 11:03:57PM +0200, Rafael Fonseca wrote: > > On Fri, May 15, 2020 at 5:24 PM Daniel P. Berrangé <berrange@xxxxxxxxxx> wrote: > > > Since we're using GitLab now, if you just fork the libvirt repo > > > and push a branch to your gitlab fork, it will run CI which will > > > check for these mistakes. > > > > Good to know. I did that and the CI is only failing now in the > > cross-compilation phase with 32-bit systems: > > > > ../../src/util/virstoragefile.h: In function 'VIR_STORAGE_SOURCE': > > /usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0/gobject/gtype.h:2301:6: > > error: cast increases required alignment of target type > > [-Werror=cast-align] > > 2301 | ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt)) > > | ^ > > /usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0/gobject/gtype.h:484:66: > > note: in expansion of macro '_G_TYPE_CIC' > > 484 | #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) > > (_G_TYPE_CIC ((instance), (g_type), c_type)) > > | ^~~~~~~~~~~ > > /usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0/gobject/gtype.h:1412:12: > > note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST' > > 1412 | return G_TYPE_CHECK_INSTANCE_CAST (ptr, > > module_obj_name##_get_type (), ModuleObjName); } \ > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > > ../../src/util/virstoragefile.h:390:1: note: in expansion of macro > > 'G_DECLARE_FINAL_TYPE' > > 390 | G_DECLARE_FINAL_TYPE(virStorageSource, vir_storage_source, VIR, > > STORAGE_SOURCE, GObject); > > | ^~~~~~~~~~~~~~~~~~~~ > > > > Any ideas on how to solve that? > > This is odd and I can't tell why. Assyuming only virStorageSource shows > the issue though, there must be something in the way the struct is > arranged that causes alignment issues. I disabled the virStorageSource patch and tried again. On armv7l it failed with the same error but in a different part: ../../src/qemu/qemu_conf.h: In function 'VIR_QEMU_DRIVER_CONFIG': /usr/include/glib-2.0/gobject/gtype.h:2301:6: error: cast increases required alignment of target type [-Werror=cast-align] 2301 | ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt)) | ^ /usr/include/glib-2.0/gobject/gtype.h:484:66: note: in expansion of macro '_G_TYPE_CIC' 484 | #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type)) | ^~~~~~~~~~~ /usr/include/glib-2.0/gobject/gtype.h:1412:12: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST' 1412 | return G_TYPE_CHECK_INSTANCE_CAST (ptr, module_obj_name##_get_type (), ModuleObjName); } \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../../src/qemu/qemu_conf.h:222:1: note: in expansion of macro 'G_DECLARE_FINAL_TYPE' 222 | G_DECLARE_FINAL_TYPE(virQEMUDriverConfig, | ^~~~~~~~~~~~~~~~~~~~ It didn't occur in mingw32-fedora-rawhide because I guess the QEmu driver it's not compiled there? Att. -- Rafael Fonseca