[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 2/3] tools: build qemu-vmsr-helper
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH v4 2/3] tools: build qemu-vmsr-helper |
Date: |
Thu, 28 Mar 2024 10:46:24 +0000 |
User-agent: |
Mutt/2.2.12 (2023-09-09) |
On Thu, Mar 28, 2024 at 11:27:50AM +0100, Anthony Harivel wrote:
> Hi Daniel,
>
> My apologies for all the missed feedback in v2.
> I'll be more organized for my next iteration.
>
> For this specific comment below, I would like to make sure I'm testing
> the right way.
>
> > > diff --git a/meson.build b/meson.build
> > > index b375248a7614..376da49b60ab 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -4052,6 +4052,11 @@ if have_tools
> > > dependencies: [authz, crypto, io, qom, qemuutil,
> > > libcap_ng, mpathpersist],
> > > install: true)
> > > +
> > > + executable('qemu-vmsr-helper',
> > > files('tools/i386/qemu-vmsr-helper.c'),
> > > + dependencies: [authz, crypto, io, qom, qemuutil,
> > > + libcap_ng, mpathpersist],
> > > + install: true)
> > > endif
> >
> > Missed feedback from v2 saying this must /only/ be built
> > on x86 architectures. It fails to build on others due
> > to the ASM usage eg
> >
> > https://gitlab.com/berrange/qemu/-/jobs/6445384073
> >
>
> To recreate your build system, I need to, for example, compile with the
> following configuration for arm64 (aarch64):
>
> ../configure --enable-werror --disable-docs --enable-fdt=system
> --disable-user --cross-prefix=aarch64-linux-gnu-
> --target-list-exclude="arm-softmmu cris-softmmu i386-softmmu
> microblaze-softmmu mips-softmmu mipsel-softmmu mips64-softmmu
> ppc-softmmu riscv32-softmmu sh4-softmmu sparc-softmmu xtensa-softmmu"
>
> This is cross-compiling on x86 right?
> Because on my laptop I've got the following error:
>
> WARNING: unrecognized host CPU, proceeding with 'uname -m' output 'x86_64'
> python determined to be '/usr/bin/python3'
> python version: Python 3.12.2
> mkvenv: Creating non-isolated virtual environment at 'pyvenv'
> mkvenv: checking for meson>=0.63.0
>
> ERROR: Unrecognized host OS (uname -s reports 'Linux')
>
> It looks like it wants to build natively on aarch64.
> Maybe I need to create a VM with aarch64 Debian and compile natively?
> Might take a long time but I'm not sure this is the best way.
You can do this all with our Debian cross build containers locally
Either build the container fresh
podman build --tag qemuarm64 -f
tests/docker/dockerfiles/debian-arm64-cross.docker
Or pull down the one from CI
podman pull registry.gitlab.com/qemu-project/qemu/qemu/debian-arm64-cross
Inside the container you just need to clone your QEMU repo and then run
./configure $QEMU_CONFIGURE_OPTS --target-list=x86_64-softmmu
$QEMU_CONFIGURE_OPTS expands to the args needed for a cross-compile,
as it set by the container itself.
Alternatively fork the project on gitlab, and then push your branch
to your fork, while requesting CI
git push -o ci.variable=QEMU_CI=1 <gitlab remote> <branch name>
then in the gitlab UI, you can press play on the individual jobs
you want to test. See docs/devel/testing.rst for info on that.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|