Re: QEMU CI failure of cross-i386-* targets (meson picks wrong glib for native target)

2021-12-29 Thread Alessandro Di Federico via
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)

2021-12-24 Thread Paolo Bonzini
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)

2021-12-24 Thread Alessandro Di Federico via
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