Summary: | =dev-lang/rust-1.51.0 hangs in src_prepare while installing rust-docs for around 10 minutes | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | tt_1 <herrtimson> |
Component: | Current packages | Assignee: | Georgy Yakovlev <gyakovlev> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gentoo, rust, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://github.com/rust-lang/rust/issues/80684 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
upstream bug: https://github.com/rust-lang/rust/issues/80684 given that USE="doc" is broken anyway and thus masked, it seems reasonable to me to pass --without=rust-docs for now to =dev-lang/rust-1.51.0-r1, right? yeah, docs have been failing randomly since 1.47 for some reason, maybe we need to disable compiler-docs to make it work. USE=-doc should already disable docs, is not it the case? USE=-doc will set [build] docs = false compiler-docs = false which should be equivalent to passing --without=rust-docs, is not it? we try to use mostly config.toml style configuration, and not x.py args The ebuild hangs in src_prepare, while installing the components from stage0 into work/rust-stage0/ for bootstraping: install: installing component 'rustc' install: installing component 'cargo' install: installing component 'rls-preview' install: installing component 'rust-analyzer-preview' install: installing component 'clippy-preview' install: installing component 'miri-preview' install: installing component 'rustfmt-preview' install: installing component 'llvm-tools-preview' install: installing component 'rust-analysis-x86_64-unknown-linux-gnu' install: installing component 'rust-std-x86_64-unknown-linux-gnu' install: installing component 'rust-docs' <-- here it keeps hanging for around 10 minutes According to the upstream issue it does hang as well for much longer when build with USE="+doc", but that would be in src_install I believe. to solve this without hotfixing via --without=rust-docs , upstream will have to push out a fixed stage0 tarball, which is propably not going to happen anytime soon. ah that makes sense. it used to install minimal set before IRC, now it seems to install everything. yeah, that can be easily fixed by only installing cargo, rustc and std, nothing else needed for bootstrap. absolutely no need for docs for bootstrapping. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c46b01a2fac9c0472ee3cb7438ccdf2aa8287ae8 commit c46b01a2fac9c0472ee3cb7438ccdf2aa8287ae8 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2021-04-18 11:19:45 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2021-04-18 11:19:45 +0000 dev-lang/rust: don't install docs component in bootstrap compiler Bug: https://bugs.gentoo.org/783468 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/rust-1.51.0-r2.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) ok I just used --without=rust-docs as suggested, because I don't have time to test what's needed for bootstrap, maybe clippy or needed for tests. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78b40d2e6a9eb40ce44a8b1177bb759aa41d4f45 commit 78b40d2e6a9eb40ce44a8b1177bb759aa41d4f45 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2021-04-18 11:24:31 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2021-04-18 11:26:25 +0000 dev-lang/rust: drop rust-1.51.0 Bug: https://bugs.gentoo.org/782367 Bug: https://bugs.gentoo.org/782799 Closes: https://bugs.gentoo.org/783468 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/rust-1.51.0.ebuild | 617 --------------------------------------- 1 file changed, 617 deletions(-) I'd suggest to leave the bug open and mark as in progress, since there will be an upstream fix for this trickeling down in the next few release cycles. also could be helpfull to add a little refering note to profiles/base/package.use.mask , where doc is masked doc is masked for another reason =) it fails to generate docs in src_compile and build fails, without even reaching src_install and possible delay. and I don't think we'll ever want to change this part I've added. docs are not needed for bootstrap, no need to install ever. the doc use flag has been unmasked for rust-1.51.0-r2, this issue may show again during src_install if USE=+doc is chosen. I don't have any use case for that config, but maybe you want to double check here? patch is simple enough, will try to add it. https://patch-diff.githubusercontent.com/raw/rust-lang/rust/pull/84289.patch as for rust-bin, will need to patch generated install.sh The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5f3024c3ef7506c3b3a496dc725f5e38ce5d626 commit f5f3024c3ef7506c3b3a496dc725f5e38ce5d626 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2021-05-05 15:19:21 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2021-05-05 20:15:44 +0000 dev-lang/rust: greatly reduce documentation installation time Bug: https://bugs.gentoo.org/783468 X-Upstream-Issue: https://github.com/rust-lang/rust/issues/80684 X-Upstream-Fix: https://github.com/rust-lang/rust/pull/84289 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/files/1.51.0-slow-doc-install.patch | 92 +++++++++++++++++++++++ dev-lang/rust/rust-1.51.0-r2.ebuild | 1 + 2 files changed, 93 insertions(+) (In reply to Georgy Yakovlev from comment #12) > patch is simple enough, will try to add it. > > https://patch-diff.githubusercontent.com/raw/rust-lang/rust/pull/84289.patch > > > as for rust-bin, will need to patch generated install.sh or you can maybe mask doc use again for rust-bin, until I believe rust-1.53.0 stages are released I think having 10 minute delay, while not nice, still is not a failure. doc was masked because it failed to build. I will look at way fixing -bin, just lacking time. it may be a simple manifest edit. should be fixed in rust-bin-1.53.0 then, right? looks like so, I've dropped the patch. but I usually keep bugs open until affected ebuilds are gone or at least fixed ones are stable. old bug, fixed upstream, closing |
here is the build log: * rustc-1.51.0-src.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ] * rust-1.50.0-x86_64-unknown-linux-gnu.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * Checking for at least 9472 MiB disk space at "/var/tmp/portage/dev-lang/rust-1.51.0/temp" ... [ ok ] * Checking for at least 9472 MiB disk space at "/var/tmp/portage/dev-lang/rust-1.51.0/temp" ... [ ok ] * Using python3.8 to build >>> Unpacking source... >>> Unpacking rustc-1.51.0-src.tar.xz to /var/tmp/portage/dev-lang/rust-1.51.0/work >>> Unpacking rust-1.50.0-x86_64-unknown-linux-gnu.tar.xz to /var/tmp/portage/dev-lang/rust-1.51.0/work >>> Source unpacked in /var/tmp/portage/dev-lang/rust-1.51.0/work >>> Preparing source in /var/tmp/portage/dev-lang/rust-1.51.0/work/rustc-1.51.0-src ... install: creating uninstall script at /var/tmp/portage/dev-lang/rust-1.51.0/work/rust-stage0/lib/rustlib/uninstall.sh install: installing component 'rustc' install: installing component 'cargo' install: installing component 'rls-preview' install: installing component 'rust-analyzer-preview' install: installing component 'clippy-preview' install: installing component 'miri-preview' install: installing component 'rustfmt-preview' install: installing component 'llvm-tools-preview' install: installing component 'rust-analysis-x86_64-unknown-linux-gnu' install: installing component 'rust-std-x86_64-unknown-linux-gnu' install: installing component 'rust-docs' the build hangs here for about 10 minutes, while eating around 10% of cpu time from 12 cores, so a bit more than one core. there are no consequences for the build, it resumes fine once it has finished. please note: this unpacks to a ramdisk: $ cat /etc/fstab tmpfs /var/tmp/portage tmpfs size=16G,uid=portage,gid=portage,mode=775,noatime 0 0 but its the same problem on another machine with ext4 fs