Re: make -jN modules_install breakage in next-20230831

From: Masahiro Yamada
Date: Thu Aug 31 2023 - 10:56:20 EST


On Thu, Aug 31, 2023 at 5:59 PM Chen-Yu Tsai <wenst@xxxxxxxxxxxx> wrote:
>
> Hi,
>
> I observed some breakage with `make -jN moudles_install`. The scripts produce
> some bogus paths, which `cp` then complains it can't find.
>
> I run the following for my workflow.
>
> $ nice -n 10 sh -c "make -j72 Image.lzma dtbs && ./pack-mod.sh && cb/sign.sh"
>
> pack-mod.sh is what fails. It basically does:
>
> make -j72 modules
> make -j72 modules_install INSTALL_MOD_PATH=${TMPDIR}
> depmod ...
> tar ...
> cleanup
>
> I get errors like the following:
>
>
> CALL scripts/checksyscalls.sh
> CALL scripts/checksyscalls.sh
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/arch/arm64/crypto/sha1-ce.ko
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/arch/arm64/crypto/chacha-neon.ko
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/arch/arm64/crypto/poly1305-neon.ko
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/time/test_udelay.ko
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/configs.ko
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nfs_common/grace.ko
> cp: cannot create regular file
> 'tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/time/test_udelay.ko':
> No such file or directory
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nls/nls_cp437.ko
> make[2]: *** [scripts/Makefile.modinst:127:
> tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/time/test_udelay.ko]
> Error 1
> make[2]: *** Waiting for unfinished jobs....
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nls/nls_ascii.ko
> cp: cannot create regular file
> 'tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/configs.ko':
> No such file or directory
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nls/nls_iso8859-1.ko
> INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nls/nls_utf8.ko
> make[2]: *** [scripts/Makefile.modinst:128:
> tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/configs.ko]
> Error 1
> make[1]: *** [/usr/local/google/home/wenst/linux/mtk/Makefile:1822:
> modules_install] Error 2
> make: *** [Makefile:234: __sub-make] Error 2
>
>
> Note the duplicate "kernel/" in the path for test_udelay.ko and configs.ko.



The paths to test_udelay.ko and configs.ko look quite normal to me.

"kernel/kernel/" is correct.


The first "kernel/" means in-tree modules.

All in-tree modules are installed
under /lib/modules/<ver>/kernel/,
while external modules are installed
under /lib/modules/<ver>/updates/.


The second "kernel/" is the directory in the source tree.



I cannot reproduce the error.




But, indeed. Your installation log looks weird overall.
No idea what is happening in your case.


If you add V=1, Kbuild will show more logs, and we may get more hints.

make V=1 -j72 modules_install INSTALL_MOD_PATH=${TMPDIR}






BTW, you are not testing linux-next, right?


The commit hash of next-20230831 is a47fc304d2b678db1a5d760a7d644dac9b067752



commit a47fc304d2b678db1a5d760a7d644dac9b067752 (HEAD, tag:
next-20230831, origin/master, origin/HEAD)
Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu Aug 31 13:54:04 2023 +1000

Add linux-next specific files for 20230831

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>






Apparently, your version
"6.5.0-next-20230831-13697-g09d3bd189478-dirty" is different.


I cannot find commit 09d3bd189478.
And, it seems a lot of local patches applied on top.





Next time, please send repro steps for linux-next.







>
> If I revert commit 3ee3181f8721 ("Merge branch 'for-next' of
> git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git"),
> then everything works again. Not sure which commit is to blame though.
>
>
> Regards
> ChenYu



--
Best Regards

Masahiro Yamada