On August 26, 2025 2:03 PM, Kyle Lippincott wrote: >On Tue, Aug 26, 2025 at 10:53 AM <rsbecker@xxxxxxxxxxxxx> wrote: >> >> On August 26, 2025 1:45 PM, Kyle Lippincott wrote: >> >On Tue, Aug 26, 2025 at 9:04 AM David Aguilar <davvid@xxxxxxxxx> wrote: >> >> >> >> The "cargo build" invocations in contrib/ cannot be run in parallel. >> >> >> >> "make -JN" with INCLUDE_LIBGIT_RS enabled causes cargo lock >> >> warnings and can trigger ld errors during the build. >> >> >> >> The build errors are caused by two inner "make" invocations getting >> >> triggered concurrently: once inside of libgit-sys and another >> >> inside of libgit-rs. >> >> >> >> Signed-off-by: David Aguilar <davvid@xxxxxxxxx> >> >> --- >> >> Makefile | 2 +- >> >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> >> >> diff --git a/Makefile b/Makefile >> >> index 29a53520fd..286d3ba3b2 100644 >> >> --- a/Makefile >> >> +++ b/Makefile >> >> @@ -3989,7 +3989,7 @@ libgit-sys libgit-rs: >> >> cargo build \ >> >> ) >> >> ifdef INCLUDE_LIBGIT_RS >> >> -all:: libgit-sys libgit-rs >> >> +all:: libgit-sys .WAIT libgit-rs >> > >> >I'm not familiar enough with make or with rust, but do we need to >> >depend on both of these here? Wouldn't it be sufficient to say >> >libgit-rs depends on libgit-sys, and only explicitly depend on libgit-rs in `all::`? >> >> Not all platforms can build libgit-rs, so inserting it into as a >> required component is not a particularly friendly idea. >> > >That's not what I was suggesting. This is already in an `ifdef`, and the line I was >quoting was changing `all:: libgit-sys libgit-rs` to >`all:: libgit-sys .WAIT libgit-rs`. I'm wondering if we can instead split the `libgit-sys >libgit-rs:` from a few lines earlier into `libgit-sys:` and `libgit-rs: libgit-sys` and then >change this all line to `all:: libgit-rs` (still behind `ifdef INCLUDE_LIBGIT_RS`). Thank you. I appreciate this and the clarity it provides. Randall