Open atrick opened 4 years ago
Test temporarily disabled here
I wonder if these test failures are not caught by "@swift-ci Please test"?
Are they tested only by continuous CI, not by PR CI?
I tried building with the same preset as the CI invocation (buildbot,tools=RA,stdlib=RD), but it failed:
FAILED: lib/swift/iphoneos/arm64/libswiftCore.dylib
...
Undefined symbols for architecture arm64:
"___isOSVersionAtLeast", referenced from:
swift::initializeProtocolLookup() in ImageInspectionMachO.cpp.o
swift::initializeProtocolConformanceLookup() in ImageInspectionMachO.cpp.o
swift::initializeTypeMetadataRecordLookup() in ImageInspectionMachO.cpp.o
swift::initializeDynamicReplacementLookup() in ImageInspectionMachO.cpp.o
ld: symbol(s) not found for architecture arm64
My best guess is that this only happens with debug (unoptimized) standard library.
@shahmishal any advice for an external contributor trying to test the simulator-i386 configuration?
Could this be that you don't have Xcode 11.4 11E146?
Someone recently worked around this temporarily by editting ImageInspectionMachO.cpp and commenting out the call to __builtin_available()
When I ran into this issue in the past, I worked around this in the past by something like the following change.
diff --git a/stdlib/public/runtime/ImageInspectionMachO.cpp b/stdlib/public/runtime/ImageInspectionMachO.cpp
index 81ee6ed3079..6468bbc3bbf 100644
--- a/stdlib/public/runtime/ImageInspectionMachO.cpp
+++ b/stdlib/public/runtime/ImageInspectionMachO.cpp
@@ -121,7 +121,8 @@ void addImageCallback2Sections(const mach_header *mh, intptr_t vmaddr_slide) {
} // end anonymous namespace
-#if OBJC_ADDLOADIMAGEFUNC_DEFINED
+
+#if 0
#define REGISTER_FUNC(...) \
if (__builtin_available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)) { \
objc_addLoadImageFunc(__VA_ARGS__);
I am actually using Xcode 11.4 (11E146).
Thanks aschwaighofer@apple.com (JIRA User)! I tried the workaround but now encounter a different error:
FAILED: lib/swift/iphonesimulator/x86_64/libswiftCore.dylib
...
ld: warning: static initializer found in 'stdlib/public/runtime/CMakeFiles/swiftRuntime-iphonesimulator-x86_64.dir/BackDeployment.cpp.o'. Use -no_inits to make this an error. Use -no_warn_inits to suppress warning
ld: warning: static initializer found in 'stdlib/public/runtime/CMakeFiles/swiftRuntime-iphonesimulator-x86_64.dir/MetadataLookup.cpp.o'. Use -no_inits to make this an error. Use -no_warn_inits to suppress warning
ld: warning: static initializer found in 'stdlib/public/stubs/CMakeFiles/swiftStdlibStubs-iphonesimulator-x86_64.dir/GlobalObjects.cpp.o'. Use -no_inits to make this an error. Use -no_warn_inits to suppress warning
Undefined symbols for architecture x86_64:
"___truncdfhf2", referenced from:
protocol witness for Swift.BinaryFloatingPoint.init(Swift.Double) -> A in conformance Swift.Float16 : Swift.BinaryFloatingPoint in Swift in Swift.o
Swift.Float16.init(Swift.Double) -> Swift.Float16 in Swift.o
Swift.Float16.init(exactly: Swift.Double) -> Swift.Float16? in Swift.o
"___truncsfhf2", referenced from:
Swift.Float16.init(Swift.Float) -> Swift.Float16 in Swift.o
Swift.Float16.isInfinite.getter : Swift.Bool in Swift.o
protocol witness for Swift.Decodable.init(from: Swift.Decoder) throws -> A in conformance Swift.Float16 : Swift.Decodable in Swift in Swift.o
generic specialization <Swift.Float16> of (extension in Swift):Swift.FloatingPoint.floatingPointClass.getter : Swift.FloatingPointClassification in Swift.o
generic partial specialization <Signature = @escaping @convention(thin) @convention(method) <A><A1 where A == Swift.Float16, A1: Swift.BinaryFloatingPoint> (@in_guaranteed A1, @unowned @thick Swift.Float16.Type) -> (@out Swift.Float16, @unowned Swift.Bool)> of static (extension in Swift):Swift.BinaryFloatingPoint._convert<A where A1: Swift.BinaryFloatingPoint>(from: A1) -> (value: A, exact: Swift.Bool) in Swift.o
generic specialization <Swift.Float16> of (extension in Swift):Swift.BinaryFloatingPoint.isTotallyOrdered(belowOrEqualTo: A) -> Swift.Bool in Swift.o
Swift.Float16.init(_builtinFloatLiteral: Builtin.FPIEEE80) -> Swift.Float16 in Swift.o
...
"___extendhfsf2", referenced from:
Swift.Float16.init(Swift.Float) -> Swift.Float16 in Swift.o
protocol witness for Swift.Encodable.encode(to: Swift.Encoder) throws -> () in conformance Swift.Float16 : Swift.Encodable in Swift in Swift.o
generic partial specialization <Signature = @escaping @convention(thin) @convention(method) <A><A1 where A == Swift.Float16, A1: Swift.BinaryFloatingPoint> (@in_guaranteed A1, @unowned @thick Swift.Float16.Type) -> (@out Swift.Float16, @unowned Swift.Bool)> of static (extension in Swift):Swift.BinaryFloatingPoint._convert<A where A1: Swift.BinaryFloatingPoint>(from: A1) -> (value: A, exact: Swift.Bool) in Swift.o
generic specialization <Swift.Float16> of (extension in Swift):Swift.BinaryFloatingPoint.isTotallyOrdered(belowOrEqualTo: A) -> Swift.Bool in Swift.o
Swift.Float16.init(_builtinFloatLiteral: Builtin.FPIEEE80) -> Swift.Float16 in Swift.o
protocol witness for Swift.CustomStringConvertible.description.getter : Swift.String in conformance Swift.Float16 : Swift.CustomStringConvertible in Swift in Swift.o
protocol witness for Swift.CustomDebugStringConvertible.debugDescription.getter : Swift.String in conformance Swift.Float16 : Swift.CustomDebugStringConvertible in Swift in Swift.o
...
ld: symbol(s) not found for architecture x86_64
Have you seen this error before?
Unassigning self until I can build and reproduce the error locally.
Dumbest suggestion ever: make sure you do a clean build or at least 'build-script --reconfigure'
It seems that the Autodiff tests will be perpetually broken on 32-bit platforms if you're not locally testing that. That's just a headache for everyone. I recommend using REQUIRES: OS=..., REQUIRES: CPU=..., and/or REQUIRES: PTRSIZE=... if you don't want to support other platforms.
Thanks for the suggestions!
I did indeed try clean builds. I'm using Xcode 11.4 (11E146) on macOS 10.15.4.
I would love to figure out these build errors so I can test 32-bit platforms locally. Any tips would be appreciated. I might post on the forums for help.
Additional Detail from JIRA
| | | |------------------|-----------------| |Votes | 0 | |Component/s | Compiler | |Labels | Bug | |Assignee | None | |Priority | Medium | md5: 27c35b6d4e19faf22e2e70a5d0333c44Issue Description:
https://ci.swift.org/job/oss-swift_tools-RA_stdlib-RD_test-simulator//3152/consoleFull
https://ci.swift.org/job/oss-swift_tools-RA_stdlib-RDA_test-simulator/2651/console