13.2 amd64. After update rust to 1.69.0 multimedia/librav1e fails to build. Removed librav1e, tried to build - same error: warning: `rav1e` (build script) generated 2 warnings Running `/tmp/work/usr/ports/multimedia/librav1e/work/target/release/build/rav1e-7cca2eaa162c986c/build-script-build` [rav1e 0.6.4] thread 'main' panicked at 'Failed to acquire build-time information: Os { code: 2, kind: NotFound, message: "No such file or directory" }', build.rs:230:29 [rav1e 0.6.4] stack backtrace: [rav1e 0.6.4] 0: rust_begin_unwind [rav1e 0.6.4] 1: core::panicking::panic_fmt [rav1e 0.6.4] 2: core::result::unwrap_failed [rav1e 0.6.4] 3: core::result::Result<T,E>::expect [rav1e 0.6.4] at /tmp/work/usr/ports/lang/rust/work/rustc-1.69.0-src/library/core/src/result.rs:1047:23 [rav1e 0.6.4] 4: build_script_build::main [rav1e 0.6.4] at ./build.rs:230:3 [rav1e 0.6.4] 5: core::ops::function::FnOnce::call_once [rav1e 0.6.4] at /tmp/work/usr/ports/lang/rust/work/rustc-1.69.0-src/library/core/src/ops/function.rs:250:5 [rav1e 0.6.4] note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. error: failed to run custom build command for `rav1e v0.6.4 (/tmp/work/usr/ports/multimedia/librav1e/work/rav1e-0.6.4)` Caused by: process didn't exit successfully: `/tmp/work/usr/ports/multimedia/librav1e/work/target/release/build/rav1e-7cca2eaa162c986c/build-script-build` (exit status: 101) --- stderr thread 'main' panicked at 'Failed to acquire build-time information: Os { code: 2, kind: NotFound, message: "No such file or directory" }', build.rs:230:29 stack backtrace: 0: rust_begin_unwind 1: core::panicking::panic_fmt 2: core::result::unwrap_failed 3: core::result::Result<T,E>::expect at /tmp/work/usr/ports/lang/rust/work/rustc-1.69.0-src/library/core/src/result.rs:1047:23 4: build_script_build::main at ./build.rs:230:3 5: core::ops::function::FnOnce::call_once at /tmp/work/usr/ports/lang/rust/work/rustc-1.69.0-src/library/core/src/ops/function.rs:250:5 note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. warning: build failed, waiting for other jobs to finish... Error: CliError { error: Some(1 job failed), exit_code: 101 } *** Error code 1
some build script tries to run rustdoc and fails 39415: execve("/usr/local/bin/rustdoc",0x39626b048880,0x3962614f18c0) ERR#2 'No such file or directory' I'll investigate why rustdoc is not built with rust 1.69
Created attachment 241695 [details] git diff lang/rust it appears https://github.com/rust-lang/rust/issues/76526 was fixed by https://github.com/rust-lang/rust/pull/95900 and merged by https://github.com/rust-lang/rust/pull/95900/commits/3f4bbd50fda2be3ccf31031003bce19645afa99a i guess the real mystery here is why WAS rustdoc being built at all in the last handful of versions while this line has been in our Makefile for nearly a year! at any rate, it all works better now. this allowed me to build librav1e after rebuilding rust using this patch
(In reply to Chad Jacob Milios from comment #2) Thanks, I was testing something similar.
Is it work if DOCS=off?
(In reply to VVD from comment #4) so without this patch #241695, after the update to rust-1.69.0 rustdoc was not getting installed. So without rustdoc, librav1e was dying at the point where its cargo crate dependency built-0.5.2 fails to run `rustdoc -V` which it wants to do simply so it can bake that output into the build incase it is later wished for informational purposes (along with like a hundred other little morsels of info about the build environment. For example, `built` is appreciated by the support staff fielding calls or developers getting crash reports from any Rust software.) built-0.6.0 failed in the same way for me at the same point. i did not take it upon myself to notify its maintainer that there are people out there who forgo `rustdoc` and so (s)he shouldnt `.expect()` it. because i'd like my rustdoc please and thank you. the real mystery is why my rust-1.68.2 and prior even had rustdoc at all when i'm not on the nightly track, considering this omission was in place since May 2022. i did not investigate said mystery i for one believe its time we can retire these three lines altogether but i'll leave it to the big boys to determine if it's still not possible to build with DOCS on armv6. (see this line in ports commits e57dfbf32324ca40f17bb6c4a10581e6a06ab00b and cb6d9d1a623b5dc4ed815d69211d264819be036e.)
Created attachment 241697 [details] Always install rustdoc Probably regressed by https://github.com/rust-lang/rust/commit/11e002a00134 Something like the attached patch may help but I didn't test. More ports are affected: $ rg -g distinfo -wl built | sed s,/distinfo,, games/abstreet (already BROKEN for a different reason) multimedia/av1an (via rav1e crate) multimedia/gstreamer1-plugins-rust (via rav1e crate) multimedia/rav1e sysutils/rtx sysutils/vector Of those only 1 has *default* consumers: $ pkg rquery %ro gstreamer1-plugins-rust | sort multimedia/kooha security/authenticator
(In reply to Jan Beich from comment #6) Yes, rustdoc is built with 11e002a001348e7ea035c0cb2665be806e2a832e reverted. can you commit your patch please?
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=624bde48cd1c06c4cfb73982e55b9a6199ce4851 commit 624bde48cd1c06c4cfb73982e55b9a6199ce4851 Author: Mikael Urankar <mikael@FreeBSD.org> AuthorDate: 2023-04-24 16:07:15 +0000 Commit: Mikael Urankar <mikael@FreeBSD.org> CommitDate: 2023-04-24 17:50:43 +0000 lang/rust: always build rustdoc Due to a regression in rust [1], rustdoc is not built anymore but is required by some ports. Force the build of rustdoc. [1] https://github.com/rust-lang/rust/commit/11e002a001348e7ea035c0cb2665be806e2a832e PR: 271036 lang/rust/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Work for me on 2 different hosts. Thanks!