Bug: Makefile ignores CARGO_TARGET_DIR
2 messages between Jul 28, 2026 and Jul 28, 2026, from William Pursell, Todd Zullinger.
Plain Markdown or JSON for tools and agents.
William PursellJul 28, 2026, 11:46 UTC on loreThe Makefile hardcodes the path to the Rust static library at line 962, but the cargo invocation at line 3036 does not override CARGO_TARGET_DIR. (line numbers are relative to 9a0c4701)
When CARGO_TARGET_DIR is set in the environment, the link step fails:
clang: error: no such file or directory: 'target/release/libgitcore.a'
Re: Bug: Makefile ignores CARGO_TARGET_DIR
Show 7 quoted lines
> The Makefile hardcodes the path to the Rust static library at line
> 962, but the cargo invocation at line 3036 does not override
> CARGO_TARGET_DIR. (line numbers are relative to 9a0c4701)
>
> When CARGO_TARGET_DIR is set in the environment, the link step fails:
>
> clang: error: no such file or directory: 'target/release/libgitcore.a'
If the fix simply to add `--target $*` as is used a few lines below in RUST_MEMBER_LIBS, e.g.:
diff --git i/Makefile w/Makefile
index 98e995e4be..fa6e4b2702 100644
--- i/Makefile
+++ w/Makefile
@@ -3034,7 +3034,7 @@ $(LIB_FILE): $(LIB_OBJS)
ifndef NO_RUST
ifeq ($(RUST_TARGETS),)
$(RUST_LIB): Cargo.toml $(RUST_SOURCES) $(LIB_FILE)
- $(QUIET_CARGO)cargo build $(CARGO_ARGS)
+ $(QUIET_CARGO)cargo build $(CARGO_ARGS) --target $*
else
ifneq ($(words $(RUST_TARGETS)),1)
ifneq ($(uname_S),Darwin)
Does this also affect the `cargo build` calls in the
libgit-sys and libgit-rs make targets (~lines 4090 and
4092)?
--
Todd