Re: QEMU CI failure of cross-i386-* targets (meson picks wrong glib for native target)
On Fri, 24 Dec 2021 22:25:24 +0100 Paolo Bonzini wrote: > Is the configure script setting $cross_compile to yes? That will > decide whether meson getting a --cross-file or a --native-file > option, and consequently whether it treats the host and build > machines as equal or different. From what I can see cross_compile is set only if --cross-prefix is set, which doesn't seem to be the case for most containers (e.g., s390x) but not for i386: tests/docker/dockerfiles/debian-s390x-cross.docker:ENV QEMU_CONFIGURE_OPTS --cross-prefix=s390x-linux-gnu- tests/docker/dockerfiles/fedora-i386-cross.docker:ENV QEMU_CONFIGURE_OPTS --cpu=i386 --disable-vhost-user I can try to set `--cross-prefix=x86_64-redhat-linux-` but I guess this will prevent certain tests to run (given the cross-compile environment). I'll give it a shot. -- Alessandro Di Federico rev.ng Labs Srl
Re: QEMU CI failure of cross-i386-* targets (meson picks wrong glib for native target)
Is the configure script setting $cross_compile to yes? That will decide whether meson getting a --cross-file or a --native-file option, and consequently whether it treats the host and build machines as equal or different. Paolo Il ven 24 dic 2021, 12:09 Alessandro Di Federico ha scritto: > Hi Paolo, I'm trying to get the QEMU CI run successfully for the > idef-parser patchset. However I'm facing an issue I haven't been able > to work around with meson. Maybe you can help? > > The failing tests are cross-i386-* > > https://gitlab.com/carl.cudig/qemu/-/jobs/1437392669 > https://gitlab.com/carl.cudig/qemu/-/jobs/1437392673 > https://gitlab.com/carl.cudig/qemu/-/jobs/1437392671 > > I think the problem is that we're adding a new build-time dependency: > glib. However glib is also a run-time dependency and, AFAIU, when cross > compiling for x86 on a x86-64 machine, if you create a native > executable, meson picks up the x86 version of glib (as opposed to the > x86-64). > > I've been fiddling with this for a while, unsuccessfully. > > Relevant portion of the code: > > > https://gitlab.com/carl.cudig/qemu/-/commit/c020958c37fa723f7e933a58b1bb1c3668ff4cff#8145a41027f26ff426d5a2c8b00c56f227943165_198_202 > > Happy holidays! > > -- > Alessandro Di Federico > rev.ng Labs Srl > >
QEMU CI failure of cross-i386-* targets (meson picks wrong glib for native target)
Hi Paolo, I'm trying to get the QEMU CI run successfully for the idef-parser patchset. However I'm facing an issue I haven't been able to work around with meson. Maybe you can help? The failing tests are cross-i386-* https://gitlab.com/carl.cudig/qemu/-/jobs/1437392669 https://gitlab.com/carl.cudig/qemu/-/jobs/1437392673 https://gitlab.com/carl.cudig/qemu/-/jobs/1437392671 I think the problem is that we're adding a new build-time dependency: glib. However glib is also a run-time dependency and, AFAIU, when cross compiling for x86 on a x86-64 machine, if you create a native executable, meson picks up the x86 version of glib (as opposed to the x86-64). I've been fiddling with this for a while, unsuccessfully. Relevant portion of the code: https://gitlab.com/carl.cudig/qemu/-/commit/c020958c37fa723f7e933a58b1bb1c3668ff4cff#8145a41027f26ff426d5a2c8b00c56f227943165_198_202 Happy holidays! -- Alessandro Di Federico rev.ng Labs Srl