Re: 5.19-rc1 build fails at scripts/check-local-export
From: Michael Ellerman
Date: Mon Jun 06 2022 - 03:35:17 EST
Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> writes:
> Hello.
>
> Commit 31cb50b5590fe911 ("kbuild: check static EXPORT_SYMBOL* by script
> instead of modpost") introduced scripts/check-local-export but it fails
> in my CentOS 7 environment.
>
> $ rpm -q binutils bash
> binutils-2.27-44.base.el7_9.1.x86_64
> bash-4.2.46-35.el7_9.x86_64
I'm also seeing this, on Ubuntu 16.04.
$ bash --version
GNU bash, version 4.3.48(1)-release (powerpc64le-unknown-linux-gnu)
> $ make
...
> HOSTCC scripts/mod/mk_elfconfig
> CC scripts/mod/empty.o
> ./scripts/check-local-export: line 54: wait: pid 17328 is not a child of this shell
> make[2]: *** [scripts/mod/empty.o] Error 127
> make[2]: *** Deleting file `scripts/mod/empty.o'
> make[1]: *** [prepare0] Error 2
> make: *** [__sub-make] Error 2
>
> Is below change OK for you?
>
> diff --git a/scripts/check-local-export b/scripts/check-local-export
> index da745e2743b7..1631c79558b7 100755
> --- a/scripts/check-local-export
> +++ b/scripts/check-local-export
> @@ -51,7 +51,7 @@ do
> done < <(${NM} ${1} 2>/dev/null || { echo "${0}: ${NM} failed" >&2; false; } )
>
> # Catch error in the process substitution
> -wait $!
> +wait $! 2>/dev/null || :
>
> for name in "${export_symbols[@]}"
> do
That fixes it for me.
Tested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
cheers