Skip to content

Cannot build WASM target on freebsd: 'errno.h' file not found #162551

Description

@AMDmi3

Summary

This broke somewhere after 2026-08-20 and 2026-08-30. Unfortunately, I cannot pinpoint exact broken version as versions right after that suffer from unrelated breakages.

Command used

After upding FreeBSD port lang/rust-nightly to the latest version (2026-08-20 with bootstraps 2026-08-28) , make -C /usr/ports/lang/rust-nigthly install

Expected behaviour

Successful build.

Actual behaviour

profiler_builtins fail to build for wasm target:

   Compiling profiler_builtins v0.0.0 (/work/usr/ports/lang/rust-nightly/work/rustc-nightly-src/library/profiler_builtins)
     Running `/work/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/stage1-std/dist/build/profiler_builtins/72636cab5acea68e/out/build_script_build`
warning: profiler_builtins@0.0.0: /work/usr/ports/lang/rust-nightly/work/rustc-nightly-src/src/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c:29:10: fatal error: 'errno.h' file not found
warning: profiler_builtins@0.0.0:    29 | #include <errno.h>
warning: profiler_builtins@0.0.0:       |          ^~~~~~~~~
warning: profiler_builtins@0.0.0: 1 error generated.
error: failed to run custom build command for `profiler_builtins v0.0.0 (/work/usr/ports/lang/rust-nightly/work/rustc-nightly-src/library/profiler_builtins)`

Notably, WASM target can be disabled in FreeBSD port, and rust builds fine if it is.

Bootstrap configuration (bootstrap.toml)

[build]
build-dir="/usr/ports/lang/rust-nightly/work/_build"
build-stage=2
doc-stage=2
test-stage=2
vendor=true
extended=true
python="/usr/local/bin/python3.12"
docs=false
verbose=2
profiler=true
target=["x86_64-unknown-freebsd","wasm32-unknown-unknown"]
cargo="/usr/ports/lang/rust-nightly/work/bootstrap/bin/cargo"
rustc="/usr/ports/lang/rust-nightly/work/bootstrap/bin/rustc"
tools=["analysis","cargo","clippy","rust-analyzer","rustdoc","rustfmt","src","miri","cargo-miri"]
ccache=false
[install]
prefix="/usr/ports/lang/rust-nightly/prefix"
sysconfdir="/usr/ports/lang/rust-nightly/prefix/etc"
[rust]
channel="nightly"
default-linker="cc"
deny-warnings=false
verbose-tests=true
download-rustc=false
lld=true
lto="thin"
remap-debuginfo=true
[llvm]
download-ci-llvm=false
clang=true
thin-lto=true
ninja=true
[target.x86_64-unknown-freebsd]
ar="ar"
cc="cc"
cxx="c++"
linker="cc"
[target.wasm32-unknown-unknown]
ar="ar"
cc="/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/llvm/bin/clang"
cxx="/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/llvm/bin/clang++"
linker="/usr/ports/lang/rust-nightly/work/_build/x86_64-unknown-freebsd/llvm/bin/clang"
[dist]
compression-formats=["xz"]
src-tarball=false

Operating system

FreeBSD 15.1

HEAD

cea272fa356e94bd2ee2cadf376630aa0683867a

Additional context

Full build log: https://people.freebsd.org/~amdmi3/rust.log
For reference, successful log for older version, 2026-08-20: https://people.freebsd.org/~amdmi3/rust20.log

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions