I'm getting the same kind of error when trying to compile a gcc (C) binding for GMP to the Pluto language:
./compile_gmp_support_for_pluto.bash clang: warning: overriding deployment version from '16.0' to '26.0' [-Woverriding-deployment-version] ld: warning: building for macOS-16.0, but linking with dylib '/opt/local/lib/libgmp.10.dylib' which was built for newer version 26.0 cat ./compile_gmp_support_for_pluto.bash #!/bin/bash # Steps needed to compile this file (pluto-gmp.c) on Linux using GCC. # gcc -c -fpic pluto-gmp.c # gcc -O3 -fpic -shared -o pluto-gmp.so pluto-gmp.o -lgmp /opt/local/bin/gcc-mp-15 -c -fpic ./pluto-gmp.c /opt/local/bin/gcc-mp-15 -O3 -fpic -shared -o ./libpluto-gmp.dylib ./pluto-gmp.o -lgmp So maybe something has to change with both my gnat compilation AND my gcc compilation usage? How do I verify that I don't have version 16 stuff hanging around confusing things and that I do have version 26 stuff? I've successfully compiled the llvm-21 packages (today), so I think I have the version 26 stuff installed... Thanks, Ken Wolcott On Wed, Sep 24, 2025 at 2:46 PM Kenneth Wolcott <[email protected]> wrote: > Hi; > > I'm asking here because I know for certain that many people here are > able to assist :-) > > I have a MacOS Tahoe arm64 linking problem. It might look like an > Ada compiler problem, but I'm quite certain that the compile was > successful but the linking failed. > > This is a slightly out-of-date GNAT compiler suite for MacOS arm64, > but I don't think that is the problem. > > This problem appeared after I upgraded MacOS to Tahoe. > > I posted on the Ada Forum regarding this issue. > > I was given a simple workaround which was not simple enough for me to > understand :-) > > The first solution provided: > > ############################################################################## > Remove current xCode CLI tools and install the most current version. > > ############################################################################## > > My response: I'd already done that, same problem. > > The second solution provided: > > ############################################################################## > Adding > > package Linker is > for Leading_Switches ("Ada") use ("-Wl,-syslibroot," & external > ("SDKROOT", "")); > end Linker; > > to the .gpr file and then setting the appropriate SDKROOT via > > export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)" > > seemed to do the trick. > > ############################################################################## > > My response to that is: > Nice, good info for the future, but currently I'm using gnatmake, not > gpr... > > The problem: > > ############################################################################## > gnatmake -v ./shift_left.adb > > GNATMAKE 15.0.1 20250418 (prerelease) > Copyright (C) 1992-2025, Free Software Foundation, Inc. > “shift_left.ali” being checked … > → “shift_left.ali” missing. > gcc -c -I./ -I- ./shift_left.adb > clang: warning: overriding deployment version from ‘16.0’ to ‘26.0’ > [-Woverriding-deployment-version] > End of compilation > gnatbind -x shift_left.ali > gnatlink shift_left.ali > clang: warning: overriding deployment version from ‘16.0’ to ‘26.0’ > [-Woverriding-deployment-version] > ld: library not found for -lSystem > collect2: error: ld returned 1 exit status > gnatlink: error when calling /opt/gnat-aarch64-darwin-15.1.0-2/bin/gcc > gnatmake: *** link failed. > > The Ada code is from Rosetta Code: > "Shift list elements to left by 3" > <https://rosettacode.org/wiki/Shift_list_elements_to_left_by_3#Ada> > > ############################################################################## > > What is the correct manner to tell the linker what it needs to know? > > I've seen similar stuff when watching stuff being compiled by "sudo > port -v -s install <package>", but I don't know enough how to apply > it to my situation. > > Thanks, > Ken Wolcott >
