Skip to content

Rustdoc fails to build wasm32 target documentation #76526

Closed
@o01eg

Description

@o01eg

When I build rust from master branch I catch error on documenting std for wasm32 target:

config.toml

[llvm]
optimize = true
release-debuginfo = false
assertions = false
ninja = true
targets = "X86;Mips;NVPTX;RISCV;BPF;AArch64;WebAssembly"
experimental-targets = ""
link-shared = true
[build]
build = "x86_64-unknown-linux-gnu"
host = ["x86_64-unknown-linux-gnu"]
target = ["i686-unknown-linux-gnu","x86_64-unknown-linux-gnu","wasm32-unknown-unknown"]
docs = true
compiler-docs = true
submodules = false
python = "python3.7"
locked-deps = true
vendor = false
extended = true
tools = ["rust-analyzer","rustfmt","rls","miri","clippy","cargo",]
verbose = 2
sanitizers = false
profiler = false
cargo-native-static = false
[install]
prefix = "/usr"
libdir = "lib64/rust-9999"
docdir = "share/doc/rust-9999"
mandir = "share/rust-9999/man"
[rust]
optimize = true
debug = false
debug-assertions = false
debuginfo-level-rustc = 0
backtrace = true
incremental = false
default-linker = "x86_64-pc-linux-gnu-gcc"
parallel-compiler = false
rpath = false
verbose-tests = true
optimize-tests = true
codegen-tests = true
dist-src = false
ignore-git = false
lld = false
backtrace-on-ice = true
jemalloc = false
[dist]
src-tarball = false
[target.i686-unknown-linux-gnu]
cc = "x86_64-pc-linux-gnu-gcc"
cxx = "x86_64-pc-linux-gnu-g++"
linker = "x86_64-pc-linux-gnu-gcc"
ar = "x86_64-pc-linux-gnu-ar"
llvm-config = "/usr/lib/llvm/10/bin/llvm-config"
[target.x86_64-unknown-linux-gnu]
cc = "x86_64-pc-linux-gnu-gcc"
cxx = "x86_64-pc-linux-gnu-g++"
linker = "x86_64-pc-linux-gnu-gcc"
ar = "x86_64-pc-linux-gnu-ar"
llvm-config = "/usr/lib/llvm/10/bin/llvm-config"
[target.wasm32-unknown-unknown]
linker = "lld"

Part of build log:

      c Rustdoc { compiler: Compiler { stage: 2, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
      c Sysroot { compiler: Compiler { stage: 2, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
      c Sysroot { compiler: Compiler { stage: 2, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
      c Sysroot { compiler: Compiler { stage: 2, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
      c Rustdoc { compiler: Compiler { stage: 2, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
      c Sysroot { compiler: Compiler { stage: 2, host: TargetSelection { triple: "x86_64-unknown-linux-gnu", file: None } } }
running: "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustdoc" "--target" "wasm32-unknown-unknown" "-Zbinary-dep-depinfo" "-j" "7" "-v" "--release" "--locked" "--features" "panic-unwind backtrace" "--manifest-path" "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/library/test/Cargo.toml" "-p" "std" "--" "--markdown-css" "rust.css" "--markdown-no-toc" "-Z" "unstable-options" "--resource-suffix" "1.47.0" "--index-page" "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/src/doc/index.md"
...
 Documenting std v0.0.0 (/tmp/portage/dev-lang/rust-9999/work/rust-git-src/library/std)
     Running `/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/bootstrap/debug/rustdoc --edition=2018 --crate-type dylib --crate-type rlib --crate-name std library/std/src/lib.rs --target wasm32-unknown-unknown -o /tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/doc --cfg 'feature="addr2line"' --cfg 'feature="backtrace"' --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 /tmp/portage/dev-lang/rust-9999/work/rust-git-src/src/doc/index.md -L dependency=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps -L dependency=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/release/deps --extern addr2line=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libaddr2line-8229f5c2a688b6e3.rmeta --extern alloc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/liballoc-74f910f193e7b336.rmeta --extern cfg_if=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcfg_if-fd0d852fc79171d8.rmeta --extern compiler_builtins=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcompiler_builtins-db2ee1dfa27e3e7f.rmeta --extern core=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcore-5a47466fe4fc98f4.rmeta --extern dlmalloc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libdlmalloc-b7e449ca03644816.rmeta --extern hashbrown=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libhashbrown-7583e9f834c306b7.rmeta --extern libc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/liblibc-cf6ced52b7f0305e.rmeta --extern miniz_oxide=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libminiz_oxide-393b4807a077fca1.rmeta --extern object=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libobject-9e197139924657b6.rmeta --extern panic_abort=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libpanic_abort-ac1891acc12bd958.rmeta --extern panic_unwind=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libpanic_unwind-ab0162dc30186b39.rmeta --extern rustc_demangle=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/librustc_demangle-f73103bf135d5d64.rmeta --extern unwind=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libunwind-8d9aa4ec2b106ff0.rmeta -Lnative=/usr/lib/llvm/10/lib64 -Dwarnings -Winvalid_codeblock_attributes --crate-version '1.47.0-dev
(49d39e559
2020-08-17)' --cfg backtrace_in_libstd`
rustdoc command: "LD_LIBRARY_PATH"="/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2/lib64/rust-9999:/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/release/deps:/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage0/lib" "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "--edition=2018" "--crate-type" "dylib" "--crate-type" "rlib" "--crate-name" "std" "library/std/src/lib.rs" "--target" "wasm32-unknown-unknown" "-o" "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/doc" "--cfg" "feature=\"addr2line\"" "--cfg" "feature=\"backtrace\"" "--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" "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/src/doc/index.md" "-L" "dependency=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps" "-L" "dependency=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/release/deps" "--extern" "addr2line=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libaddr2line-8229f5c2a688b6e3.rmeta" "--extern" "alloc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/liballoc-74f910f193e7b336.rmeta" "--extern" "cfg_if=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcfg_if-fd0d852fc79171d8.rmeta" "--extern" "compiler_builtins=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcompiler_builtins-db2ee1dfa27e3e7f.rmeta" "--extern" "core=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcore-5a47466fe4fc98f4.rmeta" "--extern" "dlmalloc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libdlmalloc-b7e449ca03644816.rmeta" "--extern" "hashbrown=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libhashbrown-7583e9f834c306b7.rmeta" "--extern" "libc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/liblibc-cf6ced52b7f0305e.rmeta" "--extern" "miniz_oxide=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libminiz_oxide-393b4807a077fca1.rmeta" "--extern" "object=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libobject-9e197139924657b6.rmeta" "--extern" "panic_abort=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libpanic_abort-ac1891acc12bd958.rmeta" "--extern" "panic_unwind=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libpanic_unwind-ab0162dc30186b39.rmeta" "--extern" "rustc_demangle=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/librustc_demangle-f73103bf135d5d64.rmeta" "--extern" "unwind=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libunwind-8d9aa4ec2b106ff0.rmeta" "-Lnative=/usr/lib/llvm/10/lib64" "-Dwarnings" "-Winvalid_codeblock_attributes" "--crate-version" "1.47.0-dev\n(49d39e559\n2020-08-17)" "--cfg" "backtrace_in_libstd" "--cfg" "stage2" "--cfg" "dox" "--sysroot" "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2" "-Z" "force-unstable-if-unmarked"
sysroot: "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2"
libdir: "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2/lib64/rust-9999"
error: unresolved link to `crate::os::unix::ffi::OsStrExt`
   --> library/std/src/ffi/mod.rs:134:22
    |
134 | //! [unix.OsStrExt]: crate::os::unix::ffi::OsStrExt
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unresolved link
    |
    = note: `-D broken-intra-doc-links` implied by `-D warnings`
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

error: unresolved link to `crate::os::unix::ffi::OsStrExt::from_bytes`
   --> library/std/src/ffi/mod.rs:135:21
    |
135 | //! [`from_bytes`]: crate::os::unix::ffi::OsStrExt::from_bytes
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unresolved link
    |
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
...
error: Could not document `std`.

Caused by:
  process didn't exit successfully: `/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/bootstrap/debug/rustdoc --edition=2018 --crate-type dylib --crate-type rlib --crate-name std library/std/src/lib.rs --target wasm32-unknown-unknown -o /tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/doc --cfg 'feature="addr2line"' --cfg 'feature="backtrace"' --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.48.0 --index-page /tmp/portage/dev-lang/rust-9999/work/rust-git-src/src/doc/index.md -L dependency=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps -L dependency=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/release/deps --extern addr2line=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libaddr2line-9c90916959ed47dc.rmeta --extern alloc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/liballoc-f10d36e19a6b4a6c.rmeta --extern cfg_if=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcfg_if-30857b79c73f7fff.rmeta --extern compiler_builtins=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcompiler_builtins-1b00cc16184366d5.rmeta --extern core=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libcore-1c0d17d595f10ad8.rmeta --extern dlmalloc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libdlmalloc-d3a093304a3f5ed3.rmeta --extern hashbrown=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libhashbrown-8e4f0f970969b8bf.rmeta --extern libc=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/liblibc-e07644d41b7e931f.rmeta --extern miniz_oxide=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libminiz_oxide-5d75d119f5f9ea26.rmeta --extern object=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libobject-1b2bee7d52f5d55c.rmeta --extern panic_abort=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libpanic_abort-37cc5afa0a6b8ae3.rmeta --extern panic_unwind=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libpanic_unwind-4cac7c7e34360602.rmeta --extern rustc_demangle=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/librustc_demangle-a4be1769e9ac3e0f.rmeta --extern unwind=/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage2-std/wasm32-unknown-unknown/release/deps/libunwind-efdde7ebbb0e90a3.rmeta -Lnative=/usr/lib/llvm/10/lib64 -Dwarnings -Winvalid_codeblock_attributes --crate-version '1.48.0-dev
  (683d1bcd4
  2020-09-09)' --cfg backtrace_in_libstd` (exit code: 1)


command did not execute successfully: "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustdoc" "--target" "wasm32-unknown-unknown" "-Zbinary-dep-depinfo" "-j" "7" "-v" "--release" "--locked" "--features" "panic-unwind backtrace" "--manifest-path" "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/library/test/Cargo.toml" "-p" "std" "--" "--markdown-css" "rust.css" "--markdown-no-toc" "-Z" "unstable-options" "--resource-suffix" "1.48.0" "--index-page" "/tmp/portage/dev-lang/rust-9999/work/rust-git-src/src/doc/index.md"
expected success, got: exit code: 101

Failing PR: #75501

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-bugCategory: This is a bug.O-wasmTarget: WASM (WebAssembly), http://webassembly.org/T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions