From: D. Ben Knoble Date: Mon, 22 Jun 2026 15:49:34 GMT Subject: Re: [PATCH v3] config.mak.uname: avoid macOS dup-library warning Message-ID: In-Reply-To: On Sat, Jun 20, 2026 at 4:58 PM D. Ben Knoble wrote: > > On Fri, Jun 19, 2026 at 6:27 PM Junio C Hamano wrote: > > > > "Harald Nordgren via GitGitGadget" writes: > > > > > From: Harald Nordgren > > > > > > Building on macOS with Xcode 15 or newer emits: > > > > > > ld: warning: ignoring duplicate libraries: 'libgit.a', > > > 'target/release/libgitcore.a' > > > > > > Some link recipes list the same archive twice, which is harmless. > > > Quiet the warning instead. > > > > > > Pass -Wl,-no_warn_duplicate_libraries on Xcode 15 and newer, whose > > > linkers added both the warning and the suppression flag (ld64-907 > > > and dyld-1009). Earlier linkers reject the flag, so gate on the > > > linker version. Broaden the existing -fno-common version probe to > > > also match the "ld64-NNN" and "dyld-NNN" forms Xcode 15 reports. > > > > > > Signed-off-by: Harald Nordgren > > > --- > > > > Yeah, this looks like what I expected. > > > > A few things to note. > > > > * Can folks with different versions of Xcode (or is 15 sufficiently > > old that practically nobody is expected to have anything older?) > > test this patch? > > > > * We only patch Makefile here; can folks who use meson report how > > well your build goes? > > > > Thanks. > > On one (old) machine I have available: > > $ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables > [trimmed] > version: 14.2.0.0.1.1668646533 > > On said machine, I don't get the duplicate warnings on a Meson build. > No issues with the patch when running make. That old machine has "ld -v": @(#)PROGRAM:ld PROJECT:ld64-711 BUILD 21:57:11 Nov 17 2021 [trimmed] LTO support using: LLVM version 13.0.0, (clang-1300.0.29.30) (static support for 27, runtime is 27) TAPI support using: Apple TAPI version 13.0.0 (tapi-1300.0.6.5) > I think I have seen this on my other machine, which is much newer. > When I get around to trying it there, I'll report back as well. Here's those results: $ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables [trimmed] version: 26.1.0.0.1.1761104275 sans patch: - Meson: duplicate warning - Make: duplicate warning w/ patch: - Meson: (unchanged, obviously) - Make: no duplicate warning Under Meson + Ninja the warning I get is (status line may not be helpful given parallelism) [705/708] Linking target t/helper/test-tool ld: warning: ignoring duplicate libraries: '-lexpat', '-liconv', '-lresolv', '-lz' That's in addition to a dozen or so ld: warning: reducing alignment of section __DATA,__common from 0x8000 to 0x4000 because it exceeds segment maximum alignment Under Make I get (surrounding info may not be helpful given parallelism) LINK git ld: warning: ignoring duplicate libraries: 'libgit.a', 'target/release/libgitcore.a' MKDIR -p t/unit-tests/bin LINK git-sh-i18n--envsubst LINK t/helper/test-tool LINK git-remote-http ld: warning: ignoring duplicate libraries: 'libgit.a', 'target/release/libgitcore.a' (No alignment warnings this time.) Linker version (ld -v) on this machine: @(#)PROGRAM:ld PROJECT:ld-1230.1 BUILD 16:18:08 Oct 17 2025 [trimmed] LTO support using: LLVM version 17.0.0 (static support for 29, runtime is 29) TAPI support using: Apple TAPI version 17.0.0 (tapi-1700.3.8) -- D. Ben Knoble