Re: [PATCHv4] speakup: Generate speakupmap.h automatically
From: Nikita Travkin
Date: Wed Aug 17 2022 - 00:12:16 EST
Hi,
(For some reason my mail client decided to put me as To: and
drop Samuel... so this is a resend. Sorry for the spam)
Samuel Thibault писал(а) 16.08.2022 23:33:
> Hello,
>
> Nikita Travkin, le mar. 16 août 2022 12:28:43 +0500, a ecrit:
>> After that I also had some weird issues of the build system trying to
>> write speakupmap.h into the source dir and not the output dir (the
>> source is read only due to the tooling I use) but this seems to have
>> been resolved by cleanly rebuilding the speakup dir.
>
> Mmm, how did you get/update your source dir? The latest version of the
> patchset does generate it in the build tree.
>
It's just a git tree for Linux in which I've checked-out the
v6.0-rc1 tag and applied few unrelated patches on top.
The thing confused me a bit as all other artifacts were properly
placed in the output dir with an exception of the speakupmap.h.
My guess would be that I had some cache left over in the build dir
from before this patch, when the file was hardcoded so it tried to
recreate it as it was. This seems reproducible:
(Please note that the build tooling I use handles the output dir in
the output below)
$ sudo rm -rf .output/drivers/accessibility/speakup/
$ git checkout v5.19
$ make -j12 allnoconfig
$ make -j12 menuconfig # Enable speakup
$ make -j12
(... Builds correctly)
$ git checkout v6.0-rc1
$ git cherry-pick bc239d8740f9
[отделённый HEAD c32cda0a1b44] speakup: Fix compilation in some build environments
Date: Tue Aug 16 11:39:52 2022 +0500
1 file changed, 1 insertion(+), 1 deletion(-)
$ make -j12 allnoconfig
$ make -j12 menuconfig # Enable speakup the same way
$ make -j12
*** pmbootstrap envkernel.sh active for /home/travler/devel/pmos/linux! ***
make: Entering directory '/mnt/linux'
make[1]: Entering directory '/mnt/linux/.output'
SYNC include/config/auto.conf.cmd
(...)
CC drivers/accessibility/speakup/buffers.o
CC drivers/accessibility/speakup/devsynth.o
CC drivers/accessibility/speakup/i18n.o
AR kernel/built-in.a
CC drivers/accessibility/speakup/fakekey.o
HOSTCC drivers/accessibility/speakup/makemapdata.o
CC drivers/accessibility/speakup/keyhelp.o
CC drivers/accessibility/speakup/kobjects.o
CC drivers/accessibility/speakup/selection.o
CC drivers/accessibility/speakup/spk_ttyio.o
CC drivers/accessibility/speakup/synth.o
CC drivers/accessibility/speakup/thread.o
CC drivers/accessibility/speakup/varhandlers.o
CC drivers/of/device.o
HOSTLD drivers/accessibility/speakup/makemapdata
MKMAP drivers/accessibility/speakup/mapdata.h
HOSTCC drivers/accessibility/speakup/genmap.o
HOSTLD drivers/accessibility/speakup/genmap
GENMAP ../drivers/accessibility/speakup/speakupmap.h
/bin/sh: can't create ../drivers/accessibility/speakup/speakupmap.h: Permission denied
make[4]: *** [../drivers/accessibility/speakup/Makefile:58: ../drivers/accessibility/speakup/speakupmap.h] Error 1
make[4]: *** Waiting for unfinished jobs....
CC drivers/of/platform.o
CC drivers/of/property.o
CC drivers/of/kobj.o
CC drivers/of/fdt.o
CC drivers/of/fdt_address.o
CC drivers/of/address.o
CC drivers/of/irq.o
CC drivers/of/of_reserved_mem.o
make[3]: *** [../scripts/Makefile.build:465: drivers/accessibility/speakup] Error 2
make[2]: *** [../scripts/Makefile.build:465: drivers/accessibility] Error 2
make[2]: *** Waiting for unfinished jobs....
AR drivers/of/built-in.a
make[1]: *** [/mnt/linux/Makefile:1855: drivers] Error 2
make[1]: Leaving directory '/mnt/linux/.output'
make: *** [Makefile:222: __sub-make] Error 2
make: Leaving directory '/mnt/linux'
Run 'pmbootstrap log' for details.
$ sudo rm -rf .output/drivers/accessibility/speakup/
$ make -j12
(...)
HOSTLD drivers/accessibility/speakup/makemapdata
MKMAP drivers/accessibility/speakup/mapdata.h
HOSTCC drivers/accessibility/speakup/genmap.o
HOSTLD drivers/accessibility/speakup/genmap
GENMAP drivers/accessibility/speakup/speakupmap.h
CC drivers/accessibility/speakup/main.o
AR drivers/accessibility/speakup/built-in.a
(... Builds correctly again)
Nikita
> Samuel