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.sistare@oracle.com>
---
docs/devel/kconfig.rst | 2 +-
pc-bios/keymaps/meson.build | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst
index 69674d0..cc1a456 100644
--- a/docs/devel/kconfig.rst
+++ b/docs/devel/kconfig.rst
@@ -306,6 +306,6 @@ variable::
host_kconfig = \
(have_tpm ? ['CONFIG_TPM=y'] : []) + \
- ('CONFIG_SPICE' in config_host ? ['CONFIG_SPICE=y'] : []) + \
+ ('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
(have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
...
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
--
1.8.3.1
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.sistare@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
On 2/20/2023 1:35 PM, Thomas Huth wrote:
> 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.sistare@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?
Probably so. I see you have already submitted a fix, thanks.
- Steve
On Mon, Feb 6, 2023 at 10:34 PM Steve Sistare <steven.sistare@oracle.com>
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.sistare@oracle.com>
>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> docs/devel/kconfig.rst | 2 +-
> pc-bios/keymaps/meson.build | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst
> index 69674d0..cc1a456 100644
> --- a/docs/devel/kconfig.rst
> +++ b/docs/devel/kconfig.rst
> @@ -306,6 +306,6 @@ variable::
>
> host_kconfig = \
> (have_tpm ? ['CONFIG_TPM=y'] : []) + \
> - ('CONFIG_SPICE' in config_host ? ['CONFIG_SPICE=y'] : []) + \
> + ('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
> (have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
> ...
> 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
> --
> 1.8.3.1
>
>
© 2016 - 2026 Red Hat, Inc.