Hi,
It could be the linker version(ld) is also too old in this case. If you
are using the system provided one try with a newer one.
Chris
On 03/12/2024 4:45 pm, Ryan Carsten Schmidt wrote:
I'm trying to make a port (Aseprite) use the newer macOS 10.13 SDK on older
macOS versions like 10.9, like this:
set min_sdk_version 10.13
if {${os.platform} eq "darwin" && [vercmp ${configure.sdk_version} <
${min_sdk_version}]} {
configure.sdk_version ${min_sdk_version}
configure.sdkroot
${prefix}/Developer/SDKs/MacOSX${configure.sdk_version}.sdk
depends_build-append port:MacOSX${configure.sdk_version}.sdk
}
The port uses C++17 so it needs a newer MacPorts clang. MacPorts picks clang-17.
The port uses cmake and ninja and it fails:
-- Check for working C compiler: /opt/local/bin/clang-mp-17
-- Check for working C compiler: /opt/local/bin/clang-mp-17 - broken
CMake Error at /opt/local/share/cmake-3.29/Modules/CMakeTestCCompiler.cmake:67
(message):
The C compiler
"/opt/local/bin/clang-mp-17"
is not able to compile a simple test program.
It fails with the following output:
...
ld: unexpected token: !tapi-tbd-v3 file
'/opt/local/Developer/SDKs/MacOSX10.13.sdk/usr/lib/libSystem.tbd' for
architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
ninja: build stopped: subcommand failed.
The fact that we have a libtapi port made me think our toolchains supported
this. Does anyone know how to make this work?