Announcement

Collapse
No announcement yet.

Linux 6.5 Upgrading The Rust Toolchain, New Modules Added

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux 6.5 Upgrading The Rust Toolchain, New Modules Added

    Phoronix: Linux 6.5 Upgrading The Rust Toolchain, New Modules Added

    While the Linux 6.5 merge window isn't opening for another week, Rust for Linux lead developer Miguel Ojeda has already submitted the pull request of the new Rust kernel code destined for this next kernel cycle...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    If, like me, you're wondering "why not switch to the most recent Rust release ?", the commit is from April 18th, 2 days before the Rust 1.69 release.

    Comment


    • #3
      Originally posted by moltonel View Post
      If, like me, you're wondering "why not switch to the most recent Rust release ?", the commit is from April 18th, 2 days before the Rust 1.69 release.
      Honestly, I think this is more about making sure you can update the toolchain without too much headache. If devs can prove they can do that, they're free to chase whatever version they want from that point on.

      Comment


      • #4
        Originally posted by bug77 View Post

        Honestly, I think this is more about making sure you can update the toolchain without too much headache. If devs can prove they can do that, they're free to chase whatever version they want from that point on.
        this is going to cause grief until they are at minimum versions anyway, because distros are upgrading every 6 weeks and the kernel will upgrade once every six months. I wonder what the first rust kernel code I'll run on my x86_64 box.

        from https://rust-for-linux.com/rust-version-policy
        The kernel documents the minimal requirements to compile it. In the case of Rust, currently only a single version is supported (i.e. rather than a minimum):
        ​

        Comment


        • #5
          Originally posted by bug77 View Post
          Honestly, I think this is more about making sure you can update the toolchain without too much headache. If devs can prove they can do that, they're free to chase whatever version they want from that point on.
          They'll eventually want to make the MSRV bumps rarer, but at this stage (and probably as long as they rely on unstable features), regular bumps are fair game (hence me wondering why they bumped to 1.68 instead of 1.70). Upgrading the rust toolchain yields much fewer headaches than upgrading gcc/clang major versions, but some distros still want to stay on old-ish rustc versions.

          Comment


          • #6
            Originally posted by fitzie View Post
            this is going to cause grief until they are at minimum versions anyway, because distros are upgrading every 6 weeks and the kernel will upgrade once every six months.
            Not all distros follow upstream's 6 weeks release cycle, some prefer to slow things down a bit. But as you said, the kernel currently only supports a specific version of rust (anf of some rust tools like cbindgen), so in practice your distro packages are unlikely to match the kernel requirement, and you need to use the rustup packages instead.

            Comment


            • #7
              Originally posted by fitzie View Post

              this is going to cause grief until they are at minimum versions anyway, because distros are upgrading every 6 weeks and the kernel will upgrade once every six months. I wonder what the first rust kernel code I'll run on my x86_64 box.

              from https://rust-for-linux.com/rust-version-policy
              Rust isn't updated from distros' repos, it's updated through rustup.

              Comment


              • #8
                Originally posted by bug77 View Post
                Rust isn't updated from distros' repos, it's updated through rustup.
                That's true on most systems, but there are distributions where using rustup is not feasible. On Gentoo, for instance, there are packages (including Firefox) that depend on the distribution's Rust package, and trying to use rustup in addition is an exercise in pain and suffering.
                There are also cross toolchains that ship with a very specific Rust version. For instance the Sailfish SDK, which still shipped Rust 1.52 last time I checked...

                That's why imho one cannot assume that everyone has the option to use rustup.

                Comment


                • #9
                  Originally posted by soulsource View Post
                  That's true on most systems, but there are distributions where using rustup is not feasible. On Gentoo, for instance, there are packages (including Firefox) that depend on the distribution's Rust package, and trying to use rustup in addition is an exercise in pain and suffering.
                  Gentoo has dev-util/rustup for setting up system-wide rustup and rustup can be configured to override rustc version used for specific oath https://packages.gentoo.org/packages/dev-util/rustup

                  Comment


                  • #10
                    Originally posted by soulsource View Post
                    On Gentoo, for instance, there are packages (including Firefox) that depend on the distribution's Rust package, and trying to use rustup in addition is an exercise in pain and suffering.
                    Huh ? Using Gentoo's Rust alongside Rustup's is completely painless. It's very common to use Rustup's for manual compiles (including the kernel) and Gentoo's for the Gentoo ebuilds. But you can of course use Gentoo's for your personal projects, and even use Rustup's for portage, by setting package.provided and some synlinks. Gentoo has a rustup ebuild.

                    I'm not claiming Rustup is universally usable, but the places where it's not a good solution are generally places where it's hard to get a specific version of anything, Rust or otherwise.

                    Comment

                    Working...
                    X