I've an existing app that is built using libresolv - it has calls to res_init(), res_query() and others. It uses these to lookup TXT records from a well-known, public location. When building under Xcode12 for an iOS14 target the following errors occur:
The build is done with Swift PM and this portion of the code is built with:
For iOS14 is the res_* functionality in another library? Is there a different approach to use?
The Xcode 11 vs 12 contents aren't all that different:
Is there a better build flag to use?
Code Block Undefined symbols for architecture x86_64: "_res_9_init", referenced from: _baseSeedQuery in BaselineCoreSafe.o "_res_9_query", referenced from: _baseSeedQuery in BaselineCoreSafe.o "_res_9_ns_initparse", referenced from: _baseSeedQuery in BaselineCoreSafe.o "_res_9_ns_parserr", referenced from: _baseSeedQuery in BaselineCoreSafe.o "_res_9_ns_sprintrr", referenced from: _baseSeedQuery in BaselineCoreSafe.o
The build is done with Swift PM and this portion of the code is built with:
Code Block linkerSettings: [ .linkedLibrary("resolv"), .linkedLibrary("pthread"), .linkedLibrary("bsd", .when(platforms: [.linux])), ]
For iOS14 is the res_* functionality in another library? Is there a different approach to use?
The Xcode 11 vs 12 contents aren't all that different:
Code Block $ find Xcode.app/ -name 'libres*.*' -print | grep iPhoneOS Xcode.app//Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libresolv.9.tbd Xcode.app//Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libresolv.tbd $ find Xcode-beta.app/ -name 'libres*.*' -print | grep iPhoneOS Xcode-beta.app//Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libresolv.dylib Xcode-beta.app//Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libresolv.9.tbd Xcode-beta.app//Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libresolv.9.dylib Xcode-beta.app//Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libresolv.tbd
Is there a better build flag to use?