Description
While building for NetBSD/sparc64 with NetBSD/amd64 as host, I reproducibly encounter this error:
Documenting std v0.0.0 (/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/library/std)
error: `crate::os::linux::raw::stat` is both a struct and a function
--> library/std/src/os/linux/fs.rs:21:19
|
21 | /// [`stat`]: crate::os::linux::raw::stat
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous link
|
= note: `-D broken-intra-doc-links` implied by `-D warnings`
help: to link to the struct, prefix with the item type
|
21 | /// [`stat`]: struct@crate::os::linux::raw::stat
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: to link to the function, add parentheses
|
21 | /// [`stat`]: crate::os::linux::raw::stat()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error
error: Could not document `std`.
...and since this is an error, the whole build fails. Trying to append ()
to the
string as suggested just produces another error, so is obviously not the right thing to do.
Oddly, when building natively on NetBSD/amd64, this error is not flagged.
Also, when cross-building for NetBSD/macppc or NetBSD/armv7 on NetBSD/amd64,
this error is also not flagged.
I expected to see the build complete without errors; 1.46.0 certainly did.
Yes, we carry a number of patches to rust in pkgsrc, not all of them up-streamable...
Still, hints for what might be the root cause of this failure are most welcome,
or how I might work around this issue.
It seems odd that it's complaining about what on the face of it appears to be a
Linux-specific function when this isn't run on or being built for Linux...
Meta
rustc --version --verbose
:
rustc 1.46.0 (04488afe3 2020-08-24)
binary: rustc
commit-hash: 04488afe34512aa4c33566eb16d8c912a3ae04f9
commit-date: 2020-08-24
host: x86_64-unknown-netbsd
release: 1.46.0
LLVM version: 10.0
(That's the bootstrap version used.)
Backtrace
Caused by:
process didn't exit successfully: `/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/bootstrap/debug/rustdoc --edition=2018 --crate-type dylib --crate-type rlib --crate-name std library/std/src/lib.rs --target sparc64-unknown-netbsd -o /usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/doc --cfg 'feature="addr2line"' --cfg 'feature="backtrace"' --cfg 'feature="compiler-builtins-c"' --cfg 'feature="gimli-symbolize"' --cfg 'feature="miniz_oxide"' --cfg 'feature="object"' --cfg 'feature="panic_unwind"' --cfg 'feature="std_detect_dlsym_getauxval"' --cfg 'feature="std_detect_file_io"' --error-format=json --json=diagnostic-rendered-ansi --markdown-css rust.css --markdown-no-toc -Z unstable-options --resource-suffix 1.47.0 --index-page /usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/src/doc/index.md -L dependency=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps -L dependency=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/release/deps --extern addr2line=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libaddr2line-03cb55b7425d7dbb.rmeta --extern alloc=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/liballoc-455bc16b9b6b4424.rmeta --extern cfg_if=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libcfg_if-7fc54f1c23911eb1.rmeta --extern compiler_builtins=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libcompiler_builtins-317780efb78c97c5.rmeta --extern core=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libcore-0f5f9e2fc8fc9f24.rmeta --extern hashbrown=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libhashbrown-943e711081285abb.rmeta --extern libc=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/liblibc-3b8680b5a3769d54.rmeta --extern miniz_oxide=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libminiz_oxide-3fbd2f81c64e7314.rmeta --extern object=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libobject-b55e8f81947c9d81.rmeta --extern panic_abort=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libpanic_abort-83aafb0d29c77dec.rmeta --extern panic_unwind=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libpanic_unwind-5427c3db55291636.rmeta --extern rustc_demangle=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/librustc_demangle-de5e000b109f02c7.rmeta --extern unwind=/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/x86_64-unknown-netbsd/stage2-std/sparc64-unknown-netbsd/release/deps/libunwind-478e4996ad0d78a7.rmeta -Dwarnings -Winvalid_codeblock_attributes --crate-version 1.47.0 --cfg backtrace_in_libstd` (exit code: 1)
command did not execute successfully: "/usr/pkgsrc/lang/rust/work/rust-bootstrap/bin/cargo" "rustdoc" "--target" "sparc64-unknown-netbsd" "-Zbinary-dep-depinfo" "-j" "4" "--release" "--frozen" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/library/test/Cargo.toml" "-p" "std" "--" "--markdown-css" "rust.css" "--markdown-no-toc" "-Z" "unstable-options" "--resource-suffix" "1.47.0" "--index-page" "/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/src/doc/index.md"
expected success, got: exit code: 101
Traceback (most recent call last):
File "./x.py", line 11, in <module>
bootstrap.main()
File "/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/src/bootstrap/bootstrap.py", line 1016, in main
bootstrap(help_triggered)
File "/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/src/bootstrap/bootstrap.py", line 1002, in bootstrap
run(args, env=env, verbose=build.verbose)
File "/usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/src/bootstrap/bootstrap.py", line 143, in run
raise RuntimeError(err)
RuntimeError: failed to run: /usr/pkgsrc/lang/rust/work/rustc-1.47.0-src/build/bootstrap/debug/bootstrap -v dist -j 4