Ld failure (tapi error) after upgrading to macOS 27 Xcode SDK

I upgraded my Xcode command line tools yesterday and now `cabal build` fails with errors such as:

ld: multiple errors: tapi error: malformed file

/Library/Developer/CommandLineTools/SDKs/MacOSX27.0.sdk/usr/lib/libiconv.tbd:4:20: error:

 error: unknown architecture

                   arm64e.x1-macos, arm64e.x1-maccatalyst \]

                   ^\~\~\~\~\~\~\~\~\~\~\~\~\~\~

 in '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libiconv.tbd'; tapi error: malformed file

|

4 |                    arm64e.x1-macos, arm64e.x1-maccatalyst ]

|                    ^

This happens also with `–with-gcc=clang`.
My tool versions:

❯ cabal -V

cabal-install version 3.18.1.0

compiled using version 3.18.1.0 of the Cabal library

❯ ghc -V

The Glorious Glasgow Haskell Compilation System, version 9.14.1.20260728

❯ ld -v

@(#)PROGRAM:ld PROJECT:ld-1267

BUILD 18:30:29 Apr 22 2026

configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em armv8m.main armv8.1m.main

will use ld-classic for: armv6 armv7 armv7s i386 armv6m armv7k armv7m armv7em

LTO support using: LLVM version 21.0.0 (static support for 30, runtime is 30)

TAPI support using: Apple TAPI version 21.0.0 (tapi-2100.0.2.6)

❯ gcc -v

Apple clang version 21.0.0 (clang-2100.1.1.101)

Target: arm64-apple-darwin25.6.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

❯ clang -v

Apple clang version 21.0.0 (clang-2100.1.1.101)

Target: arm64-apple-darwin25.6.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin


Anyone has encountered this and may have a solution?

Ok, seems like I fixed it with

sudo xcode-select -switch /Library/Developer/CommandLineTools

Now I get

❯ clang -v

Apple clang version 21.0.0 (clang-2100.3.34.2)

Target: arm64-apple-darwin25.6.0

Thread model: posix

InstalledDir: /Library/Developer/CommandLineTools/usr/bin

So my tools were out of sync (probably old Xcode but new "Apple Command Line Tools" (software managed by my employer Chalmers).

1 Like