build: Temporal cross builds do not separate host and target Rust archives #66897
Copy link
Copy link
Open
Labels
buildIssues and PRs related to Node.js builds or CI infrastructure.Issues and PRs related to Node.js builds or CI infrastructure.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
Description
Version
main at 697ecce
Platform
Host: Ubuntu 24.04, Linux x86_64
Target: Linux AArch64
Rust: 1.88.0
Subsystem
build, Temporal
What steps will reproduce the bug?
Install an AArch64 C/C++ cross toolchain and the Rust aarch64-unknown-linux-gnu target, then run from a clean checkout:
export CC=aarch64-linux-gnu-gcc
export CXX=aarch64-linux-gnu-g++
export CC_host=gcc
export CXX_host=g++
export CARGO_BUILD_TARGET=aarch64-unknown-linux-gnu
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
./configure --cross-compiling --dest-os=linux --dest-cpu=arm64 \
--v8-enable-temporal-support
make -C out BUILDTYPE=Release V=1 \
"$PWD/out/Release/obj/gen//release/libnode_crates.a"
ls out/Release/obj/gen/release/libnode_crates.a
ls out/Release/obj/gen/aarch64-unknown-linux-gnu/release/libnode_crates.aThe double slash in the Make target matches the generated rule.
How often does it reproduce? Is there a required condition?
Reproduced consistently with bundled Temporal enabled when cross-compiling from Linux x86_64 to AArch64.
What is the expected behavior? Why is that the expected behavior?
Separate Rust archives should be generated for host and target, at the paths used by their respective link steps.
What do you see instead?
Both host and target toolsets declare the same Rust archive path, but Cargo writes the target archive to a different path. No x86_64 archive is generated for host executables.
Additional information
Also observed when targeting RISC-V.
Refs: #66803
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
buildIssues and PRs related to Node.js builds or CI infrastructure.Issues and PRs related to Node.js builds or CI infrastructure.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
Activity