4

I am using Ubuntu 24.04.2 LTS and have tried to compile TeXpresso:

akira@akira:~/texpresso$ make texpresso-tonic
make -f Makefile.tectonic tectonic
make[1]: Entering directory '/home/akira/texpresso'
cd tectonic &&  cargo build --release --features external-harfbuzz
error: package `home v0.5.11` cannot be built because it requires rustc 1.81 or newer, while the currently active rustc version is 1.75.0
Either upgrade to rustc 1.81 or newer, or use
cargo update home@0.5.11 --precise ver
where `ver` is the latest version of `home` supporting rustc 1.75.0
make[1]: *** [Makefile.tectonic:11: tectonic] Error 101
make[1]: Leaving directory '/home/akira/texpresso'
make: *** [Makefile:55: texpresso-tonic] Error 2

As such, I have to update rustc 1.81. I have tried rustup update stable but to no avail

akira@akira:~/texpresso$ rustup update stable
Command 'rustup' not found, but can be installed with:
sudo snap install rustup  # version 1.27.1, or
sudo apt  install rustup  # version 1.26.0-3
See 'snap info rustup' for additional versions.
akira@akira:~/texpresso$ which rustc
/usr/bin/rustc

Could you explain how to update rustc in my system?

Akira
  • 143
  • 1
  • 5
  • Why do you have to? It says "Either upgrade to rustc 1.81 or newer, OR use cargo update home@0.5.11 --precise ver where ver is the latest version of home supporting rustc 1.75.0. The latter should work too. – Rinzwind Mar 08 '25 at 14:55
  • Well, you need to apt install rustup as the error says. rustup update should work, I used it to update rustc just yesterday. – Hi-Angel Mar 09 '25 at 08:49
  • Geez. Mix up of distro's rustc from APT with rustup - guaranteed disaster. – Michał F Mar 10 '25 at 13:58
  • 1
    @MichałF nah, when rustup is installed, rustc becomes a symbolic link to rustup, so rustup fully manages this and some other utilities. – Hi-Angel Mar 11 '25 at 06:16
  • 1
    @Hi-Angel could you post your comments as answer so that I can accept it? – Akira Mar 11 '25 at 06:41

1 Answers1

6

Before executing rustup update you need to install rustup, which is done by sudo apt install rustup.

Worth pointing out that there would be no conflicts with rustc that come from distro, because rustup package makes /usr/bin/rustc a symlink that points to rustup. So in essence, rustc (and other relevant utilities) become fully managed by rustup.

Hi-Angel
  • 4,915
  • 1
    Saying there is no conflict is a bit misleading. There is a conflict, but it is handled cleanly, installing rustup from apt will remove the rustc and cargo packages. – Simon Chopin Apr 08 '25 at 10:11
  • 1
    Well, maybe it's better to say "there's no conflict for user to handle". There's a conflict from the POV of package manager, but there isn't one from the POV of a user. – Hi-Angel Apr 08 '25 at 10:22