On 1/26/25 12:58 PM, Miguel Ojeda wrote:
On Sun, Jan 26, 2025 at 7:30 PM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
That seems to be a reasonable assumption. I guess some crazy setup
*could* install a bindgen that uses a different llvm version than
rustc itself, but that sounds pretty damn broken.
Tangential to the issue, but a note on this: we have a few warnings in
that `rust_is_available.sh` script for things that "do not look
great", such as bindgen's libclang != Clang when `CC` is Clang, and we
could have a warning for the case you mention, i.e. bindgen's libclang
!= rustc's LLVM.
However, currently some kernel developers use toolchains from upstream
Rust (e.g. from `rustup`) instead of their distributions, so that
Yes, because the distros themselves actually recommended it (Arch Linux,
anyway).
I took a reasonably careful look at the Rust setup for the basics to
build the kernel, for Arch Linux, a couple times, and for 2024 at least,
the answer clearly seemed to be:
Use the distro's rustup package
Use rustup to get rustc
Use the distro's bindgen packaged
Maybe that is All Wrong for 2025+. But this stuff is changing as Rust
and Rust-for-Linux start to settle down, and I'm a little concerned
about warnings unless they warn about something that *really*
matters.
could be annoying for them (since their bindgen may be picking
libclang from their distribution).
Trust me, the Rust installation is already sufficiently annoying.
But maybe I'm just being paranoid, and the new warnings will direct
me to a better setup.
I'll take a look at this if you CC me, though, and see how Arch
behaves.
But eventually when things stabilize more it could make sense, if most
developers stop using those, as a by-default warning.
Cheers,
Miguel
thanks,
--
John Hubbard