socket.io-client-swift icon indicating copy to clipboard operation
socket.io-client-swift copied to clipboard

Xcode 12 Support - Linker issue

Open patmalt opened this issue 4 years ago • 6 comments

I am attempting to integrate socket.io-client-swift into my project with Xcode 12. However, I get the following error when running carthage bootstrap --platform iOS for my project

Ld /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/armv7/Binary/SocketIO normal armv7 (in target 'SocketIO' from project 'Socket.IO-Client-Swift')
    cd /Users/jenkins/sensi-ios/Carthage/Checkouts/socket.io-client-swift
    /Users/jenkins/Applications/Xcode-12-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target armv7-apple-ios8.0 -dynamiclib -isysroot /Users/jenkins/Applications/Xcode-12-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk -L/Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/BuildProductsPath/Release-iphoneos -F/Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/BuildProductsPath/Release-iphoneos -F/Users/jenkins/sensi-ios/Carthage/Checkouts/socket.io-client-swift/Carthage/Build/iOS -filelist /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/armv7/SocketIO.LinkFileList -install_name @rpath/SocketIO.framework/SocketIO -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/armv7/SocketIO_lto.o -Xlinker -export_dynamic -fembed-bitcode -Xlinker -bitcode_verify -Xlinker -bitcode_hide_symbols -Xlinker -bitcode_symbol_map -Xlinker /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/BuildProductsPath/Release-iphoneos -fobjc-link-runtime -L/Users/jenkins/Applications/Xcode-12-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/armv7/SocketIO.swiftmodule -lz -framework Security -framework Starscream -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/armv7/SocketIO_dependency_info.dat -o /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/armv7/Binary/SocketIO
Undefined symbols for architecture armv7:
  "type metadata for Swift._StringObject.Variant", referenced from:
      outlined init with take of Swift._StringObject.Variant in SocketEngine.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ld /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/arm64/Binary/SocketIO normal arm64 (in target 'SocketIO' from project 'Socket.IO-Client-Swift')
    cd /Users/jenkins/sensi-ios/Carthage/Checkouts/socket.io-client-swift
    /Users/jenkins/Applications/Xcode-12-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios8.0 -dynamiclib -isysroot /Users/jenkins/Applications/Xcode-12-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk -L/Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/BuildProductsPath/Release-iphoneos -F/Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/BuildProductsPath/Release-iphoneos -F/Users/jenkins/sensi-ios/Carthage/Checkouts/socket.io-client-swift/Carthage/Build/iOS -filelist /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/arm64/SocketIO.LinkFileList -install_name @rpath/SocketIO.framework/SocketIO -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/arm64/SocketIO_lto.o -Xlinker -export_dynamic -fembed-bitcode -Xlinker -bitcode_verify -Xlinker -bitcode_hide_symbols -Xlinker -bitcode_symbol_map -Xlinker /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/BuildProductsPath/Release-iphoneos -fobjc-link-runtime -L/Users/jenkins/Applications/Xcode-12-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/arm64/SocketIO.swiftmodule -lz -framework Security -framework Starscream -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/arm64/SocketIO_dependency_info.dat -o /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/arm64/Binary/SocketIO

** ARCHIVE FAILED **


The following build commands failed:
	Ld /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca/Build/Intermediates.noindex/ArchiveIntermediates/SocketIO/IntermediateBuildFilesPath/Socket.IO-Client-Swift.build/Release-iphoneos/SocketIO.build/Objects-normal/armv7/Binary/SocketIO normal armv7
(1 failure)
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project /Users/jenkins/sensi-ios/Carthage/Checkouts/socket.io-client-swift/Socket.IO-Client-Swift.xcodeproj -scheme SocketIO -configuration Release -derivedDataPath /Users/jenkins/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A6159/socket.io-client-swift/0fd771be70b16145a32be21a97f9f2fb3f5b7cca -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/3x/lccrx0g50xn4kl4rc88fpzk80000gq/T/socket.io-client-swift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/jenkins/sensi-ios/Carthage/Checkouts/socket.io-client-swift)

patmalt avatar Jun 23 '20 19:06 patmalt

Looks like turning off optimization for release allowed the build to continue successfully.

https://github.com/emersonsoftware/socket.io-client-swift/tree/Xcode12

patmalt avatar Jun 23 '20 19:06 patmalt

Looks like turning off optimization for release allowed the build to continue successfully.

Is there any other workaround? I don't want to put an unoptimized code on production.

congnd avatar Aug 26 '20 06:08 congnd

@patmalt https://github.com/emersonsoftware/socket.io-client-swift/tree/Xcode12 I've tried this branch too but nothing change, it still doesn't compile. I'm using Xcode12 beta 1

congnd avatar Aug 26 '20 07:08 congnd

I am not sure if the branch works currently, also I would suggest getting the latest beta for your testing.

patmalt avatar Aug 26 '20 12:08 patmalt

@patmalt I tried version "15.2.0" with the Swift Package manager using Xcode 12, seems no problem for me!

EnesKaraosman avatar Sep 08 '20 09:09 EnesKaraosman

@patmalt I tried version "15.2.0" with the Swift Package manager using Xcode 12, seems no problem for me!

best advice, you saved me time, thanks !

Yelles avatar Jan 31 '21 20:01 Yelles