-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Closed
Labels
A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.Category: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Description
Summary
Since rust-lang/llvm-project@7f3afab, llvm/lib/Support
now depends on third-party/siphash
.
Bootstrap filters the llvm-project subdirectory when creating a tarball. As a result, building from the tarball fails with:
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/SipHash.cpp.o
/bin/c++ ... -isystem /mnt/vss/_work/1/s/rust.sdk.source/src/llvm-project/llvm/../third-party/siphash/include ... -c /mnt/vss/_work/1/s/rust.sdk.source/src/llvm-project/llvm/lib/Support/SipHash.cpp
/mnt/vss/_work/1/s/rust.sdk.source/src/llvm-project/llvm/lib/Support/SipHash.cpp:15:10: fatal error: siphash/SipHash.h: No such file or directory
15 | #include "siphash/SipHash.h"
| ^~~~~~~~~~~~~~~~~~~
Command used
./x.py dist rustc-src
Expected behaviour
A tarball is produced that can be used to build the rust toolchain
Actual behaviour
Build fails while building LLVM
Bootstrap configuration (bootstrap.toml)
# Use different pre-set defaults than the global defaults.
#
# See `src/bootstrap/defaults` for more information.
# Note that this has no default value (x.py uses the defaults in `bootstrap.example.toml`).
profile = 'dist'
[llvm]
# Whether to use Ninja to build LLVM. This runs much faster than make.
ninja = false
[gcc]
[build]
# Instead of downloading the src/stage0 version of Cargo specified, use
# this Cargo binary instead to build all Rust code
# If you set this, you likely want to set `rustc` as well.
cargo = '/Users/alklig/.msrustup/toolchains/ms-beta/bin/cargo'
# Instead of downloading the src/stage0 version of the compiler
# specified, use this rustc binary instead as the stage0 snapshot compiler.
# If you set this, you likely want to set `cargo` as well.
rustc = '/Users/alklig/.msrustup/toolchains/ms-beta/bin/rustc'
# Instead of downloading the src/stage0 version of rustfmt specified,
# use this rustfmt binary instead as the stage0 snapshot rustfmt.
rustfmt = '/usr/bin/false'
# Instead of downloading the src/stage0 version of cargo-clippy specified,
# use this cargo-clippy binary instead as the stage0 snapshot cargo-clippy.
#
# Note that this option should be used with the same toolchain as the `rustc` option above.
# Otherwise, clippy is likely to fail due to a toolchain conflict.
cargo-clippy = '/usr/bin/false'
# Arguments passed to the `./configure` script, used during distcheck. You
# probably won't fill this in but rather it's filled in by the `./configure`
# script. Useful for debugging.
configure-args = ['--set', 'build.cargo-clippy=/usr/bin/false', '--set', 'build.rustfmt=/usr/bin/false', '--set', 'build.cargo=/Users/alklig/.msrustup/toolchains/ms-beta/bin/cargo', '--set', 'build.rustc=/Users/alklig/.msrustup/toolchains/ms-beta/bin/rustc', '--release-channel=dev', '--set', 'llvm.ninja=false', '--set', 'dist.vendor=false', '--dist-compression-formats=gz']
[install]
[rust]
# The "channel" for the Rust build to produce. The stable/beta channels only
# allow using stable features, whereas the nightly and dev channels allow using
# nightly features.
#
# You can set the channel to "auto-detect" to load the channel name from `src/ci/channel`.
#
# If using tarball sources, default value is "auto-detect", otherwise, it's "dev".
channel = 'dev'
[dist]
# List of compression formats to use when generating dist tarballs. The list of
# formats is provided to rust-installer, which must support all of them.
#
# This list must be non-empty.
compression-formats = ['gz']
# Whether to vendor dependencies for the dist tarball.
vendor = false
[target.aarch64-apple-darwin]
Operating system
macOS 15.6
HEAD
Additional context
Metadata
Metadata
Assignees
Labels
A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.Category: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)