docs/devel/kconfig.rst | 2 +- pc-bios/keymaps/meson.build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
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: 28742467c9c0.. ("meson: convert pc-bios/keymaps/Makefile")
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..a9e5103 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 config_host_data.get('CONFIG_XKBCOMMON')
native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true)
else
native_qemu_keymap = qemu_keymap
--
1.8.3.1
Hi On Wed, Jan 25, 2023 at 9:28 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: 28742467c9c0.. ("meson: convert pc-bios/keymaps/Makefile") > Or rather fixing commit 4113f4cfee ("meson: move xkbcommon to meson"). A lot of CONFIG_ keys were set during configure, loaded in 'config_host' and now they are set by meson in 'config_host_data'. > 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'] : []) + \ > ok > (have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \ > ... > diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build > index 06c75e6..a9e5103 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 config_host_data.get('CONFIG_XKBCOMMON') > Can you replace it with not xkbcommon.found() instead? > native_qemu_keymap = find_program('qemu-keymap', required: false, > disabler: true) > else > native_qemu_keymap = qemu_keymap > -- > 1.8.3.1 > >
On 2/6/2023 1:55 AM, Marc-André Lureau wrote: > Hi > > On Wed, Jan 25, 2023 at 9:28 PM Steve Sistare <steven.sistare@oracle.com <mailto: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: 28742467c9c0.. ("meson: convert pc-bios/keymaps/Makefile") > > Or rather fixing commit 4113f4cfee ("meson: move xkbcommon to meson"). Yes, thanks. > A lot of CONFIG_ keys were set during configure, loaded in 'config_host' and now they are set by meson in 'config_host_data'. > > Signed-off-by: Steve Sistare <steven.sistare@oracle.com <mailto: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'] : []) + \ > > > ok > > > (have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \ > ... > diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build > index 06c75e6..a9e5103 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 config_host_data.get('CONFIG_XKBCOMMON') > > > Can you replace it with not xkbcommon.found() instead? Yes, that works. I will submit the V2 patch with your changes momentarily. - Steve > > > native_qemu_keymap = find_program('qemu-keymap', required: false, disabler: true) > else > native_qemu_keymap = qemu_keymap > -- > 1.8.3.1 >
© 2016 - 2024 Red Hat, Inc.