Repository navigation
Rust 1.63.0 fails to build with: error: failed to download addr2line v0.16.0 #100459
Description
Activity
- changed the title
[-]Rust 1.63.0 fails to build with `error: failed to download `addr2line v0.16.0``[/-][+]Rust 1.63.0 fails to build with `error: failed to download \`addr2line v0.16.0\``[/+]on Aug 12, 2022 - changed the title
[-]Rust 1.63.0 fails to build with `error: failed to download \`addr2line v0.16.0\``[/-][+]Rust 1.63.0 fails to build with: error: failed to download `addr2line v0.16.0`[/+]on Aug 12, 2022 Hm, so I can't immediately reproduce -- can you say more about what sources you're using to build? https://static.rust-lang.org/dist/2022-08-11/rustc-1.63.0-src.tar.xz is the tarball I used to make an attempt at reproducing.
You might also want to check if you've enabled the use of vendored sources (config.toml should contain vendor = true under [build]).
- addedT-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
on Aug 12, 2022 We are using https://static.rust-lang.org/dist/2022-08-11/rustc-1.63.0-src.tar.gz.
$ md5sum /package/pkg/rustc-1.63.0-0/build/rustc-1.63.0-src.tar.gz 8904e95118a2a53318c78532d3f33443 /package/pkg/rustc-1.63.0-0/build/rustc-1.63.0-src.tar.gzYou might also want to check if you've enabled the use of vendored sources (config.toml should contain vendor = true under [build]).
We did not have that in our build script. It worked without in the past. Could you refer me to further details, why it’s needed?
That tarball should be content equivalent to .xz, just with gzip compression.
I don't see why we would've broken a workflow that worked in the past. Can you link me to the build script you're using?
--frozen is passed if we detect that you're running either with vendoring enabled or with sudo. Rustbuild checks for sudo here, while our Python script has a slightly different check here. Maybe your environment changed in such a way that the Python check isn't true while the rustbuild check is? That would explain the error here.
(Setting vendor = true in config.toml will override the detection logic here and just enable using the vendored sources from the tarball).
The files are in https://github.molgen.mpg.de/mariux64/pkg-scripts, and it’s merge/pull request https://github.molgen.mpg.de/mariux64/pkg-scripts/pull/205/.
$ git clone https://github.molgen.mpg.de/mariux64/pkg-scripts $ cd pkg-scripts $ git checkout add-rustc-1.63.0-0-with-cbindgen-0.24.3 $ sudo tools/build.sh rustc-1.63.0-0.build.sh # … is what we use.sudo ./rustc-1.63.0-0.build.shshould work in non-MarIuX environment (our distribution).Adapt
PREFIX=in the script to your liking.(Edited last comment.)
- addedE-easyCall for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
on Aug 13, 2022 - addedregression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
on Aug 13, 2022 - addedI-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}Issue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
on Aug 13, 2022 - addedP-lowLow priorityLow priorityand removedI-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}Issue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
on Aug 13, 2022 It looks like you were previously on 1.61, right? #95671 landed in 1.62, which introduced the difference1 between handling in bootstrap.py and the Rust component for whether we're running inside sudo (as you do). I suspect that difference made us start using vendoring (though not sure), or stop, but either way, it's likely the cause of your problem.
I'm going to go ahead and mark this as E-easy -- we should likely move the Rust code to use the same getuid() == 0 check. I believe we can do that with
libc::getuid()and appropriately cfg that if needed (based on what CI complains about).Footnotes
-
that I pointed out in https://github.com/rust-lang/rust/issues/100459#issuecomment-1213628089 ↩
Reacted by apiraino-
It looks like you were previously on 1.61, right?
Yes, we did.
Thank you for the analysis. If you want us to test anything, please tell us.
Once #100852 merges (and we release a new nightly ~24 hours after that) it'd be great to retest with a nightly src tarball in your environment to confirm this is fixed, but also fine to just wait until the next stable release including it and file a new bug if not. That'll be 1.64, releasing September 22nd. (I marked the PR as beta-backport).
- added a commit that references this issue
on Aug 23, 2022 - added a commit that references this issue
on Aug 26, 2022 - added 3 commits that reference this issue
on Sep 1, 2022 - added a commit that references this issue
on Sep 19, 2022
Trying to build Rust 1.63.0 it fails with the error below: