Closed theMomax closed 3 years ago
Running Xcode 13 beta 5 on macOS Monterey beta 5, I'm no longer able to reproduce this issue.
CwlPreconditionTesting is used by Nimble.
When I try to build Nimble with Carthage (carthage update Nimble --use-xcframeworks --no-use-binaries --platform iOS
) on macOS Monterey with Xcode 13 beta 5 I'm seeing the error below.
@mattgallagher, am I holding it wrong?
duplicate symbol '_NDR_record' in:
/Users/ben/Library/Caches/org.carthage.CarthageKit/DerivedData/13.0_13A5212g/Nimble/v9.2.0/Build/Intermediates.noindex/Nimble.build/Release-iphonesimulator/Nimble-iOS.build/Objects-normal/x86_64/CwlDarwinDefinitions.o
/Users/ben/Library/Caches/org.carthage.CarthageKit/DerivedData/13.0_13A5212g/Nimble/v9.2.0/Build/Intermediates.noindex/Nimble.build/Release-iphonesimulator/Nimble-iOS.build/Objects-normal/x86_64/CwlCatchBadInstruction.o ld: 1 duplicate symbol for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
@iosdevben Aah, okay, I can reproduce. It's a Release build issue. I'll try to fix.
I've moved the access to NDR_record into Objective-C to hide it from whatever weirdness is affecting Swift 5.5. With a bit of luck, that'll make the issue go away. I've optimistically tagged the new commit 2.0.1.
I think this is resolved.
This package does not compile with the latest Swift 5.5 toolchain on macOS 12. This seems to be a compiler-bug. I created a bug on the Swift bug tracker.
It seems to have something to do with usage of
NDR_record
inCwlCatchBadInstruction.swift
. Refer to the linked bug for more details.