On Wed, Mar 18, 2026 at 11:32:59AM +0200, Manos Pitsidianakis wrote:
> Hi Paolo,
> 
> On Wed, Mar 18, 2026 at 11:28 AM Paolo Bonzini <[email protected]> wrote:
> >
> > On 3/18/26 09:51, Manos Pitsidianakis wrote:
> > >> +      error('bindgen version ' + bindgen.version() + ' is unsupported. 
> > >> You can install a new version with "cargo install --locked bindgen-cli"')
> > >
> > > Am I missing something or is bindgen not in Cargo.lock? Also doesn't
> > > this depend on `cargo-install` being invoked in the same path as
> > > Cargo.lock, i.e. `rust/` subdir? (Not sure about this)
> >
> > Because the bindgen step is done in Meson it uses a bindgen binary that
> > is preinstalled in $PATH; it doesn't build bindgen-cli the way you'd see
> > it happen when done with build.rs(*).  Usually it can use the distro
> > package, but as you can see from the tests/lcitool/ part of the patch
> > it's too old for Ubuntu 22.04.
> >
> > The "cargo install bindgen-cli" command does not use QEMU's Cargo.lock,
> 
> So what does `--locked` do here? As per `--help`: "--locked Assert
> that `Cargo.lock` will remain unchanged" What Cargo.lock does it not
> change?

--locked ensures that cargo honours the Cargo.lock from the bindgen.git
repo, instead of pulling in arbitrarily newer dependencies. The
fixed versions of deps in bindgen's Cargo.lock are still compatible
with edition2021, but the latest deps are only compatible with edition2024,
and we need edition2021


With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|


Reply via email to