Summary: | dev-lang/rust-1.33.0 error: /lib64/libc.so.6: version `GLIBC_2.14' not found | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Alex Wilson <alex.david.wilson> |
Component: | Prefix Support | Assignee: | Gentoo Prefix <prefix> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | alexey+gentoo, amosbird, gyakovlev, navi, randy, rust, sam, simonmysun, zhuyifei1999 |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/gentoo/pull/19815 https://bugs.gentoo.org/show_bug.cgi?id=865257 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
rust-1.50.0.ebuild patch fixes rust bootstrap for gentoo prefix
Updated rust-1.50.0.ebuild patch fixes rust bootstrap for gentoo prefix |
Description
Alex Wilson
2019-04-02 20:50:49 UTC
I used patchelf to set the interpreter on all the elf files in this directory, /dev/shm/portage/dev-lang/rust-1.33.0/work/rust-stage0/bin/, and that appears to have solved the bootstrap issue so far. While I was poking around /dev/shm/portage/dev-lang/rust-1.33.0/work/rustc-1.33.0-src/src/bootstrap/bootstrap.py I saw some checks for NixOS that make calls to patchelf if it's detected. I suspect the ebuild or potentially this python script would be the place to patch the stage0 bootstrap binaries. I should mention that I also used the patch from https://bugs.gentoo.org/673710 hoping that it would help with the bootstrap portion, but it did not. I'll respond to that thread if this build is successful. Using patchelf to modify the interpreter on those stage0 binaries worked well. So that solves one of many issues with rust. I ran into two other issues that might warrant new bugs: 1. rust installer tries to install some bash completion scripts to /etc 2. rust installer attempts to resolve my prefix path as an absolute path, but if the prefix path has symlinks in it then it ends up using the symlink values instead. I'm not expert on symlinks, but the ebuild QA checker is angry because the files aren't in prefix (even though they really are!) I think rust goes in the same bucket as ghc and alike, this is difficult as long as we need binary bootstrap bundles. *** Bug 695318 has been marked as a duplicate of this bug. *** Can confirm that rust-1.48.0 will also encounter the exact same error (`/lib64/libc.so.6: version `GLIBC_2.32' not found`) and needs the same patchelf to successfully build under prefix Created attachment 689847 [details, diff] rust-1.50.0.ebuild patch fixes rust bootstrap for gentoo prefix Just ran into this issue while installing rust-1.50.0 in a Gentoo Prefix. I created the following ebuild patch that allowed successful installation. Note, the patch is based on this discussion from the rust forums: https://users.rust-lang.org/t/building-rust-against-toolchain-in-non-standard-directory/16782/10 Created attachment 689850 [details, diff]
Updated rust-1.50.0.ebuild patch fixes rust bootstrap for gentoo prefix
Corrected the patch (accidentally reversed the order of the diff the first time).
this patch looks good, I just wonder if we cannot get the path to the interpreter more dynamically, e.g. grab it from the running bash or at least using the symlinked target lib/ld64.so.1 or something (In reply to Fabian Groffen from comment #8) > this patch looks good, I just wonder if we cannot get the path to the > interpreter more dynamically, e.g. grab it from the running bash or at least > using the symlinked target lib/ld64.so.1 or something I think this is what you're looking for - https://github.com/gentoo/gentoo/pull/19815. This PR is created on 2021.03.08 but sadly no reponse until know. I will contact gentoo prefix developers in person. *** Bug 739574 has been marked as a duplicate of this bug. *** The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18b519726110646e816e2b45e73ac39e3c9ee2bc commit 18b519726110646e816e2b45e73ac39e3c9ee2bc Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2021-04-03 22:33:49 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2021-04-03 22:36:15 +0000 profiles/features/prefix: force rust[system-bootstrap] Bug: https://bugs.gentoo.org/682370 Bug: https://bugs.gentoo.org/739574 Closes: https://github.com/gentoo/gentoo/pull/19815 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> profiles/features/prefix/package.use.force | 9 +++++++++ 1 file changed, 9 insertions(+) Trying to install dev-lang/rust-1.58.1:stable/1.58::gentoo with the same error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found. I've read this bug report and at some point there was a patch that sets on file var/db/repos/gentoo/profiles/features/prefix/package.use.force: dev-lang/rust system-bootstrap I've checked that I do have this USE set like that, but when emerging rust the USE flag is not used, shows as (-system-bootstrap) and then it fails compiling. I don't have a prefix setup, so can't verify. use.force entry is still there. maybe it needs more work and unmasking, because it's also use.stable.mask'ed ? I'll leave it up to prefix team to decide. |