Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
one package need ALL rust versions
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Frautoincnam
Guru
Guru


Joined: 19 May 2017
Posts: 335

PostPosted: Mon Mar 10, 2025 5:33 pm    Post subject: one package need ALL rust versions Reply with quote

It's very strange when updating 0ad:

Code:
# emerge -DpuN world

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 144.48 s (backtrack: 8/20).

[ebuild  N     ] dev-lang/rust-bin-1.74.1-r102  USE="(-big-endian) -clippy -doc (-prefix) -rust-analyzer -rust-src -rustfmt -verify-sig" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse2" LLVM_SLOT="(17)"
[ebuild  NS    ] dev-lang/rust-1.74.1-r101 [1.84.1-r1] USE="(-mrustc-bootstrap)" LLVM_SLOT="(17%*)"
[ebuild  NS    ] dev-lang/rust-1.75.0-r101 [1.84.1-r1] LLVM_SLOT="(17%*)"
[ebuild  NS    ] dev-lang/rust-1.76.0-r101 [1.84.1-r1] LLVM_SLOT="(17%*)"
[ebuild  NS    ] dev-lang/rust-1.77.1-r101 [1.84.1-r1] LLVM_SLOT="(17%*)"
[ebuild  NS    ] dev-lang/rust-1.78.0-r101 [1.84.1-r1] LLVM_SLOT="(18%*)"
[ebuild  NS    ] dev-lang/rust-1.79.0-r101 [1.84.1-r1] LLVM_SLOT="(18%*)"
[ebuild  NS    ] dev-lang/rust-1.80.1-r101 [1.84.1-r1] LLVM_SLOT="(18%*)"
[ebuild  NS    ] dev-lang/rust-1.81.0-r101 [1.84.1-r1] LLVM_SLOT="(18%*)"
[ebuild  NS    ] llvm-core/llvm-18.1.8-r6 [19.1.7] USE="ncurses%*"
[ebuild  NS    ] llvm-core/llvm-toolchain-symlinks-18-r1 [19]
[ebuild  NS    ] dev-lang/spidermonkey-115.16.0-r1 [128.4.0-r1] LLVM_SLOT="18*"
[ebuild     U ~] games-strategy/0ad-0.27.0 [0.0.26_alpha-r2]

Code:
# equery l rust
 * Searching for rust ...
[IP-] [  ] dev-lang/rust-1.84.1-r1:1.84.1

0ad needs all rust versions !
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 55002
Location: 56N 3W

PostPosted: Mon Mar 10, 2025 5:41 pm    Post subject: Reply with quote

Frautoincnam,

Its a rust thing. Rust can build from one version to the next.
With the demise of the the virtual, you start from the rust you have and build all the version to get up to date rust.
It's a one time thing too ... as long as you keep up to date, or you will get this 'rust ladder' again.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Frautoincnam
Guru
Guru


Joined: 19 May 2017
Posts: 335

PostPosted: Mon Mar 10, 2025 5:46 pm    Post subject: Reply with quote

I didn't understand much.
And most importantly, I've NEVER had to install 9 versions of rust.
Given the compilation time for one version, it's unthinkable.
Why don't I have this problem if I don't update 0ad?
Honestly, I have a hard time believing that it's normal to have to install 9 versions of rust.
I'll just uninstall 0ad. Never mind.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 55002
Location: 56N 3W

PostPosted: Mon Mar 10, 2025 5:50 pm    Post subject: Reply with quote

Frautoincnam,

It's how you get from dev-lang/rust-bin-1.74.1-r102 to dev-lang/rust-1.81.0-r101 for whatever needs dev-lang/rust-1.81.0
Rust-version-a can only get you to rust-version-a+1, so you must do all the steps,

The binhost may help, so that you don't have to do any compiling.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 2053

PostPosted: Mon Mar 10, 2025 6:04 pm    Post subject: Reply with quote

Or else package.mask dev-lang/rust to force dev-lang/rust-bin for fast installs
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23177

PostPosted: Mon Mar 10, 2025 6:36 pm    Post subject: Reply with quote

When posting questions like this, using --tree to indent dependencies can help.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4704
Location: Germany

PostPosted: Mon Mar 10, 2025 7:07 pm    Post subject: Reply with quote

I think
Code:
emerge -avuDU @world games-strategy/0ad -1 rust-bin:1.81.0
should work for you.
Back to top
View user's profile Send private message
Frautoincnam
Guru
Guru


Joined: 19 May 2017
Posts: 335

PostPosted: Mon Mar 10, 2025 7:15 pm    Post subject: Reply with quote

But why do you all assume I want binary packages?
If that's what I wanted, I wouldn't have been on Gentoo for over 22 years.

You want to get around the problem by allowing me to install 9 versions of rust faster. I say, one version of rust is enough. I've only ever had one, and I'll only have one. I can't understand why the 0AD update would force me to have 9.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23177

PostPosted: Mon Mar 10, 2025 7:48 pm    Post subject: Reply with quote

That was explained to you above. To recap:
  • The Rust project is terrible about compatibility. If you want to install rust version 1.81, you need rust-1.80 or newer installed in order to compile rust-1.81. The project explicitly disclaims that you can skip versions, so while rust-1.79 may work to build rust-1.81, there is no guarantee it will.
  • The same applies down the line. If you don't have 1.80, and need it, then you need rust-1.79 in order to build rust-1.80.
  • When you get down to rust-1.74.1, Portage gives up and grabs a rust-bin, which it can use to build rust-1.74.1 from source.
So your choices are:
  • Keep a rust-free system, avoiding any packages that require a working rust compiler.
  • Install the latest rust, using either a binary package directly (to avoid compiling rust) or a binary package to get you a compiler that can build the latest rust.
  • Install someone else's binary package of an old rust, and use that to build iteratively newer versions of rust.
Now, for the dirty part at the end: if you don't want to use a binary package, you can't build rust, because you need someone else's previously built rust compiler in order to build a current rust compiler. The only way out of that is to go all the way back to the earliest days of Rust, when you only needed an OCaml compiler to build rust.
Back to top
View user's profile Send private message
Frautoincnam
Guru
Guru


Joined: 19 May 2017
Posts: 335

PostPosted: Mon Mar 10, 2025 7:53 pm    Post subject: Reply with quote

Ok, but, as I told in my first message, I already have rust installed. Why do I need NOW to install 8 previous versions ?

I feel like no one took into account what I wrote.
Frautoincnam wrote:
Code:
# equery l rust
 * Searching for rust ...
[IP-] [  ] dev-lang/rust-1.84.1-r1:1.84.1
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum