apple / swift-numerics

Advanced mathematical types and functions for Swift

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to Compile with Xcode 12 (12A7209)

b3ll opened this issue · comments

I'm running Catalina 10.15.6 (19G2021), yet because of Float16 I'm unable to compile swift-numerics when targeting macOS.

Swift compiler is reporting the correct version Apple Swift version 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1), yet I don't understand why it's trying to compile Float16 when it's explicitly marked as unavailable for macOS. Building for an iOS device or the iOS simulator works fine. I tried using swift-numerics with a sample Xcode project for a macOS app as well but it fails with the same issues.

Any idea what's up?

swift build

» xcrun swift build
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:18:11: error: cannot find type 'Float16' in scope
extension Float16: Real {
          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:20:43: error: cannot find type 'Float16' in scope
  public static func cos(_ x: Float16) -> Float16 {
                                          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:20:31: error: cannot find type 'Float16' in scope
  public static func cos(_ x: Float16) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:25:43: error: cannot find type 'Float16' in scope
  public static func sin(_ x: Float16) -> Float16 {
                                          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:25:31: error: cannot find type 'Float16' in scope
  public static func sin(_ x: Float16) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:30:43: error: cannot find type 'Float16' in scope
  public static func tan(_ x: Float16) -> Float16 {
                                          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:30:31: error: cannot find type 'Float16' in scope
  public static func tan(_ x: Float16) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:35:44: error: cannot find type 'Float16' in scope
  public static func acos(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:35:32: error: cannot find type 'Float16' in scope
  public static func acos(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:40:44: error: cannot find type 'Float16' in scope
  public static func asin(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:40:32: error: cannot find type 'Float16' in scope
  public static func asin(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:45:44: error: cannot find type 'Float16' in scope
  public static func atan(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:45:32: error: cannot find type 'Float16' in scope
  public static func atan(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:50:44: error: cannot find type 'Float16' in scope
  public static func cosh(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:50:32: error: cannot find type 'Float16' in scope
  public static func cosh(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:55:44: error: cannot find type 'Float16' in scope
  public static func sinh(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:55:32: error: cannot find type 'Float16' in scope
  public static func sinh(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:60:44: error: cannot find type 'Float16' in scope
  public static func tanh(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:60:32: error: cannot find type 'Float16' in scope
  public static func tanh(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:65:45: error: cannot find type 'Float16' in scope
  public static func acosh(_ x: Float16) -> Float16 {
                                            ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:65:33: error: cannot find type 'Float16' in scope
  public static func acosh(_ x: Float16) -> Float16 {
                                ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:70:45: error: cannot find type 'Float16' in scope
  public static func asinh(_ x: Float16) -> Float16 {
                                            ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:70:33: error: cannot find type 'Float16' in scope
  public static func asinh(_ x: Float16) -> Float16 {
                                ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:75:45: error: cannot find type 'Float16' in scope
  public static func atanh(_ x: Float16) -> Float16 {
                                            ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:75:33: error: cannot find type 'Float16' in scope
  public static func atanh(_ x: Float16) -> Float16 {
                                ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:80:43: error: cannot find type 'Float16' in scope
  public static func exp(_ x: Float16) -> Float16 {
                                          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:80:31: error: cannot find type 'Float16' in scope
  public static func exp(_ x: Float16) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:85:51: error: cannot find type 'Float16' in scope
  public static func expMinusOne(_ x: Float16) -> Float16 {
                                                  ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:85:39: error: cannot find type 'Float16' in scope
  public static func expMinusOne(_ x: Float16) -> Float16 {
                                      ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:90:43: error: cannot find type 'Float16' in scope
  public static func log(_ x: Float16) -> Float16 {
                                          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:90:31: error: cannot find type 'Float16' in scope
  public static func log(_ x: Float16) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:95:49: error: cannot find type 'Float16' in scope
  public static func log(onePlus x: Float16) -> Float16 {
                                                ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:95:37: error: cannot find type 'Float16' in scope
  public static func log(onePlus x: Float16) -> Float16 {
                                    ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:100:43: error: cannot find type 'Float16' in scope
  public static func erf(_ x: Float16) -> Float16 {
                                          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:100:31: error: cannot find type 'Float16' in scope
  public static func erf(_ x: Float16) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:105:44: error: cannot find type 'Float16' in scope
  public static func erfc(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:105:32: error: cannot find type 'Float16' in scope
  public static func erfc(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:110:44: error: cannot find type 'Float16' in scope
  public static func exp2(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:110:32: error: cannot find type 'Float16' in scope
  public static func exp2(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:115:45: error: cannot find type 'Float16' in scope
  public static func exp10(_ x: Float16) -> Float16 {
                                            ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:115:33: error: cannot find type 'Float16' in scope
  public static func exp10(_ x: Float16) -> Float16 {
                                ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:120:59: error: cannot find type 'Float16' in scope
  public static func hypot(_ x: Float16, _ y: Float16) -> Float16 {
                                                          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:120:33: error: cannot find type 'Float16' in scope
  public static func hypot(_ x: Float16, _ y: Float16) -> Float16 {
                                ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:120:47: error: cannot find type 'Float16' in scope
  public static func hypot(_ x: Float16, _ y: Float16) -> Float16 {
                                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:128:45: error: cannot find type 'Float16' in scope
  public static func gamma(_ x: Float16) -> Float16 {
                                            ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:128:33: error: cannot find type 'Float16' in scope
  public static func gamma(_ x: Float16) -> Float16 {
                                ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:133:44: error: cannot find type 'Float16' in scope
  public static func log2(_ x: Float16) -> Float16 {
                                           ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:133:32: error: cannot find type 'Float16' in scope
  public static func log2(_ x: Float16) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:138:45: error: cannot find type 'Float16' in scope
  public static func log10(_ x: Float16) -> Float16 {
                                            ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:138:33: error: cannot find type 'Float16' in scope
  public static func log10(_ x: Float16) -> Float16 {
                                ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:143:57: error: cannot find type 'Float16' in scope
  public static func pow(_ x: Float16, _ y: Float16) -> Float16 {
                                                        ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:143:31: error: cannot find type 'Float16' in scope
  public static func pow(_ x: Float16, _ y: Float16) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:143:45: error: cannot find type 'Float16' in scope
  public static func pow(_ x: Float16, _ y: Float16) -> Float16 {
                                            ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:148:53: error: cannot find type 'Float16' in scope
  public static func pow(_ x: Float16, _ n: Int) -> Float16 {
                                                    ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:148:31: error: cannot find type 'Float16' in scope
  public static func pow(_ x: Float16, _ n: Int) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:160:54: error: cannot find type 'Float16' in scope
  public static func root(_ x: Float16, _ n: Int) -> Float16 {
                                                     ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:160:32: error: cannot find type 'Float16' in scope
  public static func root(_ x: Float16, _ n: Int) -> Float16 {
                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:165:55: error: cannot find type 'Float16' in scope
  public static func atan2(y: Float16, x: Float16) -> Float16 {
                                                      ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:165:31: error: cannot find type 'Float16' in scope
  public static func atan2(y: Float16, x: Float16) -> Float16 {
                              ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:165:43: error: cannot find type 'Float16' in scope
  public static func atan2(y: Float16, x: Float16) -> Float16 {
                                          ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:171:48: error: cannot find type 'Float16' in scope
  public static func logGamma(_ x: Float16) -> Float16 {
                                               ^~~~~~~
/Users/Adam/Downloads/swift-numerics/Sources/RealModule/Float16+Real.swift:171:36: error: cannot find type 'Float16' in scope
  public static func logGamma(_ x: Float16) -> Float16 {
                                   ^~~~~~~
[1/1] Compiling RealModule Float16+Real.swift

Xcode

CompileSwift normal x86_64 /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/Float16+Real.swift (in target 'RealModule' from project 'swift-numerics')
    cd /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/AlgebraicField.swift /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/ApproximateEquality.swift /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/Double+Real.swift /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/ElementaryFunctions.swift /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/Float+Real.swift -primary-file /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/Float16+Real.swift /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/Float80+Real.swift /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/Real.swift /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/RealFunctions.swift -emit-module-path /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/Objects-normal/x86_64/Float16+Real\~partial.swiftmodule -emit-module-doc-path /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/Objects-normal/x86_64/Float16+Real\~partial.swiftdoc -emit-module-source-info-path /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/Objects-normal/x86_64/Float16+Real\~partial.swiftsourceinfo -serialize-diagnostics-path /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/Objects-normal/x86_64/Float16+Real.dia -emit-dependencies-path /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/Objects-normal/x86_64/Float16+Real.d -emit-reference-dependencies-path /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/Objects-normal/x86_64/Float16+Real.swiftdeps -target x86_64-apple-macos10.10 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -I /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Products/Debug -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Products/Debug -F /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -enable-testing -g -module-cache-path /Users/Adam/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity\=checked -Onone -D SWIFT_PACKAGE -D DEBUG -D Xcode -serialize-debugging-options -Xcc -working-directory -Xcc /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics -enable-anonymous-context-mangled-names -Xcc -I/Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/swift-overrides.hmap -Xcc -I/Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/_NumericsShims/include -Xcc -I/Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Products/Debug/include -Xcc -I/Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/DerivedSources-normal/x86_64 -Xcc -I/Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/DerivedSources/x86_64 -Xcc -I/Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -target-sdk-version 10.15.6 -module-name RealModule -o /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Build/Intermediates.noindex/swift-numerics.build/Debug/RealModule.build/Objects-normal/x86_64/Float16+Real.o -index-store-path /Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/Index/DataStore -index-system-modules

/Users/Adam/Library/Developer/Xcode/DerivedData/aaaaaaaaaaaaaa-aofjcusrwcvzregrwblywxeuucga/SourcePackages/checkouts/swift-numerics/Sources/RealModule/Float16+Real.swift:18:11: error: cannot find type 'Float16' in scope
extension Float16: Real {
          ^~~~~~~

Hi @b3ll, I was able to reproduce this. The basic issue is that 12A7209 contains a macOS 10.15 SDK (which correctly doesn't have Float16), rather than a macOS 10.16 SDK. By contrast it has an iOS 14 SDK, so there's no issue for iOS platforms. I'll have to think a little bit about what the best way to handle this in Swift Numerics is, but I'll try to get a fix up later today. In the very-short term, you can pin to 0.0.6 as a workaround.

That makes a lot of sense, thanks for the update @stephentyrone!

@b3ll I just tagged 0.0.8, which should resolve this. Please let me know if you have any further trouble.

Thank you so much for the fix @stephentyrone!!