View previous topic :: View next topic |
Author |
Message |
Frautoincnam Guru

Joined: 19 May 2017 Posts: 335
|
Posted: Mon Mar 10, 2025 5:33 pm Post subject: one package need ALL rust versions |
|
|
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 |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 54998 Location: 56N 3W
|
Posted: Mon Mar 10, 2025 5:41 pm Post subject: |
|
|
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 |
|
 |
Frautoincnam Guru

Joined: 19 May 2017 Posts: 335
|
Posted: Mon Mar 10, 2025 5:46 pm Post subject: |
|
|
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 |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 54998 Location: 56N 3W
|
Posted: Mon Mar 10, 2025 5:50 pm Post subject: |
|
|
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 |
|
 |
grknight Retired Dev

Joined: 20 Feb 2015 Posts: 2053
|
Posted: Mon Mar 10, 2025 6:04 pm Post subject: |
|
|
Or else package.mask dev-lang/rust to force dev-lang/rust-bin for fast installs |
|
Back to top |
|
 |
Hu Administrator

Joined: 06 Mar 2007 Posts: 23177
|
Posted: Mon Mar 10, 2025 6:36 pm Post subject: |
|
|
When posting questions like this, using --tree to indent dependencies can help. |
|
Back to top |
|
 |
Josef.95 Advocate

Joined: 03 Sep 2007 Posts: 4704 Location: Germany
|
Posted: Mon Mar 10, 2025 7:07 pm Post subject: |
|
|
I think Code: | emerge -avuDU @world games-strategy/0ad -1 rust-bin:1.81.0 | should work for you. |
|
Back to top |
|
 |
Frautoincnam Guru

Joined: 19 May 2017 Posts: 335
|
Posted: Mon Mar 10, 2025 7:15 pm Post subject: |
|
|
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 |
|
 |
Hu Administrator

Joined: 06 Mar 2007 Posts: 23177
|
Posted: Mon Mar 10, 2025 7:48 pm Post subject: |
|
|
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 |
|
 |
Frautoincnam Guru

Joined: 19 May 2017 Posts: 335
|
Posted: Mon Mar 10, 2025 7:53 pm Post subject: |
|
|
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 |
|
 |
|