Re: [PATCH] scripts: rust_is_available: check for empty libclang version

From: Miguel Ojeda
Date: Thu Jun 15 2023 - 20:27:36 EST


On Sun, May 7, 2023 at 10:41 AM Matthew Leach <dev@xxxxxxxxxxxxx> wrote:
>
> If bindgen can't find libclang, then bindgen will panic with the
> following error:
>
> thread 'main' panicked at 'Unable to find libclang: "couldn't find any
> valid shared libraries matching: ['libclang.so', 'libclang-*.so',
> 'libclang.so.*', 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment
> variable to a path where one of these files can be found.
>
> This is outputted to stderr, leaving stdout empty. The empty string is
> then passed to get_canonical_version and the following is show to the
> user:
>
> $ make LLVM=1 rustavailable
> ./scripts/rust_is_available.sh: line 21: 100000 * + 100 * + : syntax error: operand expected (error token is "+ ")
> make: *** [Makefile:1825: rustavailable] Error 1
>
> Note: bindgen's bad exit code isn't caught by 'set -e' since it is ran
> in a subshell.
>
> Fix this by prnting out a more helpful error message if the output of
> bindgen is empty.
>
> Signed-off-by: Matthew Leach <dev@xxxxxxxxxxxxx>

Thanks a lot for this patch! This was previously reported and should
be fixed in this patch series (I added you as a reporter in v2):

https://lore.kernel.org/rust-for-linux/20230616001631.463536-1-ojeda@xxxxxxxxxx/

If you could please test the series, to make sure it solves your
issue, it would be great!

Cheers,
Miguel