Undefined symbols for architecture arm64


I recently added fmod to my project and my builds for iOS started failing with this error:

Undefined symbols for architecture arm64:
  "___darwin_check_fd_set_overflow", referenced from:
      l8571 in libfmodstudiounityplugin.a(libfmodstudio_iphoneos.a-arm64-master.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I’m running these versions of things:
Xcode 11.2.1
fmod 2.01.07
Unity 2020.1.2f

When searching the issue it seems that upgrading Xcode is a possible fix, but I’d very much like to avoid that if possible because I have other projects building on the same machine and I’d rather not rock that particular boat too much.

Is there any way to fix this?

My older projects using fmod 2.00.00 (with Unity 2019.3.1f1) build fine on the same machine.

I decided to give upgrading Xcode a try (which involved an OS upgrade too) and I can confirm that this issue is no longer a problem when on Xcode 12.4, same fmod/unity versions as before.

I’ve spent some time exploring this issue and I’ve discovered Apple have introduced an incompatibility due to us compiling FMOD with Xcode 12.2. If you want to continue using Xcode 11, you will need to update to at least Xcode 11.4.1 to resolve the linker error. Unfortunately this would still require moving to Catalina.