On 06/02/2023 19.34, Steve Sistare wrote:
When qemu-keymap is not available on the host, and enable-xkbcommon
is specified, parallel make fails with:

   % make clean
   ...
   % make -j 32
   ...
   FAILED: pc-bios/keymaps/is
   ./qemu-keymap -f pc-bios/keymaps/is -l is
   /bin/sh: ./qemu-keymap: No such file or directory
   ... many similar messages ...

The code always runs find_program, rather than waiting to build
qemu-keymap, because it looks for CONFIG_XKBCOMMON in config_host
rather than config_host_data.  Making serially succeeds, by soft
linking files from pc-bios/keymaps, but that is not the desired
result for enable-xkbcommon.

Examining all occurrences of 'in config_host' for similar bugs shows one
instance in the docs, which is also fixed here.

Fixes: 4113f4cfee ("meson: move xkbcommon to meson")

Signed-off-by: Steve Sistare <steven.sist...@oracle.com>
---
...
diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build
index 06c75e6..158a3b4 100644
--- a/pc-bios/keymaps/meson.build
+++ b/pc-bios/keymaps/meson.build
@@ -33,7 +33,7 @@ keymaps = {
    'tr': '-l tr',
  }
-if meson.is_cross_build() or 'CONFIG_XKBCOMMON' not in config_host
+if meson.is_cross_build() or not xkbcommon.found()
    native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: 
true)
  else
    native_qemu_keymap = qemu_keymap

Seems like this is breaking in the CI:

 https://gitlab.com/thuth/qemu/-/jobs/3802437551#L2356

Not sure why it's only happening now, and not before...
maybe the build was picking up a locally instlled qemu-keymap before your change?

 Thomas



Reply via email to