Package Details: crosvm-git r11310.db857337c1-1

Git Clone URL: https://aur.archlinux.org/crosvm-git.git (read-only, click to copy)
Package Base: crosvm-git
Description: The Chrome OS Virtual Machine Monitor
Upstream URL: https://chromium.googlesource.com/crosvm/crosvm
Licenses: LicenseRef-chromiumos
Conflicts: crosvm
Provides: crosvm
Submitter: gdamjan
Maintainer: gdamjan
Last Packager: gdamjan
Votes: 1
Popularity: 0.180619
First Submitted: 2018-05-17 13:42 (UTC)
Last Updated: 2026-03-29 20:05 (UTC)

Latest Comments

1 2 Next › Last »

IuseAURBTW commented on 2026-03-28 03:08 (UTC) (edited on 2026-03-28 03:08 (UTC) by IuseAURBTW)

Hi @Zorbatron

The issue you posted is reported by me. The BLKTRACESETUP2 error is indeed fixed in upstream minijail 42600f2 two months ago. I tried compiling with that version, everything works.

Nobody ever responded to that issue, so I think they won't fix this soon. Maybe @gdamjan can add a patch to force use latest minijail?

I haven't encountered the other issue you said.

BTW, this package is also missing python as make dependency. I am building in clean chroot, python is required

Zorbatron commented on 2026-03-27 21:26 (UTC) (edited on 2026-03-27 21:32 (UTC) by Zorbatron)

Hi, this currently fails to build with

In file included from /usr/include/asm/ioctl.h:1,
                from /usr/include/linux/ioctl.h:5,
                from /usr/include/linux/fd.h:5,
                from /home/.../source/aur.archlinux.org/crosvm-git/src/crosvm/third_party/minijail/gen_constants-inl.h:11,
                from libconstants.gen.c:2:
libconstants.gen.c:1236:39: error: invalid application of ‘sizeof’ to incomplete type ‘struct blk_user_trace_setup2’
1236 |   { "BLKTRACESETUP2", (unsigned long) BLKTRACESETUP2 },
    |                                       ^~~~~~~~~~~~~~
make[1]: *** [/home/.../source/aur.archlinux.org/crosvm-git/src/crosvm/third_party/minijail/Makefile:253: libconstants.gen.pie.o] Error 1
make: *** [common.mk:170: _all] Error 2

An issue about this exists on the upstream issue tracker https://issuetracker.google.com/issues/484367316. A fix already exists in 4dee5b09e8784b1aa9d7f3afeb9900e2c16e0ea2 but the minijail submodule is pinned to bfd22f25fd2302fe4ae5121d80c836e0f124e742. This can be fixed by adding git -C third_party/minijail/ switch -d 42600f2 to the end of prepare().

It is also failing to build due to

   Compiling devices v0.1.0 (/home/.../source/aur.archlinux.org/crosvm-git/src/crosvm/devices)
error: requires --cfg zerocopy_derive_union_into_bytes;
       please let us know you use this feature: https://github.com/google/zerocopy/discussions/1802
   --> devices/src/virtio/snd/layout.rs:341:34
    |
341 | #[derive(Copy, Clone, Immutable, IntoBytes, FromBytes, KnownLayout)]
    |                                  ^^^^^^^^^
    |
    = note: this error originates in the derive macro `IntoBytes` (in Nightly builds, run with -Z macro-backtrace for more info)

Unfortunately I haven't figured out how to fix this part...

Edit: prefixing cargo build with RUSTFLAGS="--cfg zerocopy_derive_union_into_bytes" worked.

IuseAURBTW commented on 2026-01-16 11:10 (UTC) (edited on 2026-01-16 11:12 (UTC) by IuseAURBTW)

Thanks for the update. Seems also missing wayland as make dependency. wayland-scanner is required to build gpu_display v0.1.0 (in crosvm/gpu_display/build.rs:61)

  thread 'main' panicked at gpu_display/build.rs:62:10:
  missing wayland-scanner - please install libwayland-dev: CannotFindBinaryPath

wayland-scanner is provided by wayland package.

IuseAURBTW commented on 2026-01-15 09:37 (UTC)

Thanks for the package. Seem to miss git as make dependency. I cannot build in clean chroot without git, and adding git as makedep fix this.

gdamjan commented on 2023-02-16 16:07 (UTC)

thanks @zifeitong. applied

5kg commented on 2023-02-16 07:31 (UTC) (edited on 2023-02-16 07:31 (UTC) by 5kg)

Thanks for the package!

The minijail hack is no longer needed. Additionally, "seccomp/x86_64/*" was moved.

diff --git a/PKGBUILD b/PKGBUILD
index 250434a..5c4d071 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -31,11 +31,6 @@ prepare() {
   git config submodule."third_party/depot_tools".url "$srcdir/depot_tools"
   git config submodule."third_party/vmm_vhost".url "$srcdir/vhost"
   git -c protocol.file.allow=always submodule update
-
-  # The in-tree minijail is too old to use, upstream crosvm builds seem to use ebuild shenanigans to patch this out of
-  # the .toml and use the chromeos minijail version.  Short of pulling random ebuild repos to find their preferred
-  # revision, this is the closest approximation of what upstream dev builds do.
-  ( cd third_party/minijail && git checkout --detach origin/main)
 }

 pkgver() {
@@ -52,7 +47,7 @@ package() {
   cd crosvm
   install -Dm755 target/release/crosvm "$pkgdir/usr/bin/crosvm"
   install -d "$pkgdir/usr/share/policy/crosvm/"
-  cp -r seccomp/x86_64/* "$pkgdir/usr/share/policy/crosvm/"
+  cp -r jail/seccomp/x86_64/* "$pkgdir/usr/share/policy/crosvm/"
   install -m644 -D LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
   install -m644 -D README.md "$pkgdir"/usr/share/licenses/$pkgname/README.md
 }

gdamjan commented on 2022-12-12 11:57 (UTC)

Thanks @Nephyrin,

patch applied.

Nephyrin commented on 2022-12-10 20:39 (UTC)

This also wont build due to the minijail submodule which is too old. It looks like upstream doesn't use this for their own builds, instead using the OS provided one, with some ebuild-level hacks to modify Cargo.toml in that case. The ebuild doesn't specify any particular version, so they just build against whatever is latest in ChromeOS.

Adding cd third_party/minijail && git checkout main fixes this. Presumably upstream usually targets the latest release of minijail, but for a -git build this is probably the most-correct as long as it builds?

Here's a patch that gets this building again

--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,5 +2,5 @@

 pkgname=crosvm-git
-pkgver=r4188.57470a47
+pkgver=r5465.795ee5b4b
 pkgrel=1
 pkgdesc="The Chrome OS Virtual Machine Monitor"
@@ -16,7 +16,9 @@ source=("git+https://chromium.googlesource.com/crosvm/crosvm"
         "git+https://chromium.googlesource.com/chromiumos/platform/minigbm"
         "git+https://chromium.googlesource.com/chromiumos/third_party/virglrenderer"
-        "git+https://android.googlesource.com/platform/external/minijail"
+        "git+https://chromium.googlesource.com/chromiumos/platform/minijail"
+        "git+https://chromium.googlesource.com/chromium/tools/depot_tools"
+        "git+https://chromium.googlesource.com/chromiumos/third_party/rust-vmm/vhost"
         )
-sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
+sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')

 prepare() {
@@ -27,5 +29,12 @@ prepare() {
   git config submodule."third_party/virglrenderer".url "$srcdir/virglrenderer"
   git config submodule."third_party/minijail".url "$srcdir/minijail"
-  git submodule update
+  git config submodule."third_party/depot_tools".url "$srcdir/depot_tools"
+  git config submodule."third_party/vmm_vhost".url "$srcdir/vhost"
+  git -c protocol.file.allow=always submodule update
+
+  # The in-tree minijail is too old to use, upstream crosvm builds seem to use ebuild shenanigans to patch this out of
+  # the .toml and use the chromeos minijail version.  Short of pulling random ebuild repos to find their preferred
+  # revision, this is the closest approximation of what upstream dev builds do.
+  ( cd third_party/minijail && git checkout --detach origin/main)
 }

gdamjan commented on 2021-06-27 14:43 (UTC)

We lost so much dependencies

sorry?