grpc-swift: 0.10.0 build fails using Carthage

New Issue Checklist

Issue Description

Having github "grpc/grpc-swift" == "0.10.0" in Cartfile and github "grpc/grpc-swift" "0.10.0" in Cartfile.resolved and building using carthage bootstrap --platform iOS fails and yields the following output:

*** Checking out grpc-swift at "0.10.0"
*** xcodebuild output can be found in /var/folders/2y/t66flsfj7dg0bb3zym3d807m0000gn/T/carthage-xcodebuild.qb2r03.log
*** Building scheme "SwiftGRPC-Package" in SwiftGRPC-Carthage.xcodeproj
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project /Users/.../Carthage/Checkouts/grpc-swift/SwiftGRPC-Carthage.xcodeproj -scheme SwiftGRPC-Package -configuration Release -derivedDataPath /Users/.../Library/Caches/org.carthage.CarthageKit/DerivedData/11.1_11A1027/grpc-swift/0.10.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/2y/t66flsfj7dg0bb3zym3d807m0000gn/T/grpc-swift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/.../Carthage/Checkouts/grpc-swift)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/2y/t66flsfj7dg0bb3zym3d807m0000gn/T/carthage-xcodebuild.qb2r03.log

Expected result: 0.10.0 version builds using Carthage

Complete output when running grpc-swift, including the stack trace and command used

carthage-xcodebuild.qb2r03.log contains the following errors:

Undefined symbols for architecture armv7:
  "_CFStringCreateWithCString", referenced from:
      CFStreamClientConnect(grpc_closure*, grpc_endpoint**, grpc_pollset_set*, grpc_channel_args const*, grpc_resolved_address const*, long long) in tcp_client_cfstream.o
  "_CFWriteStreamOpen", referenced from:
      CFStreamClientConnect(grpc_closure*, grpc_endpoint**, grpc_pollset_set*, grpc_channel_args const*, grpc_resolved_address const*, long long) in tcp_client_cfstream.o
  "_CFErrorGetCode", referenced from:
      grpc_error_create_from_cferror(char const*, int, void*, char const*) in error_cfstream.o
  "_CFErrorGetDomain", referenced from:
      grpc_error_create_from_cferror(char const*, int, void*, char const*) in error_cfstream.o
  "_CFErrorCopyDescription", referenced from:
      grpc_error_create_from_cferror(char const*, int, void*, char const*) in error_cfstream.o
  "_CFStringGetCString", referenced from:
      grpc_error_create_from_cferror(char const*, int, void*, char const*) in error_cfstream.o
  "_CFStreamCreatePairWithSocketToHost", referenced from:
      CFStreamClientConnect(grpc_closure*, grpc_endpoint**, grpc_pollset_set*, grpc_channel_args const*, grpc_resolved_address const*, long long) in tcp_client_cfstream.o
  "_CFReadStreamOpen", referenced from:
      CFStreamClientConnect(grpc_closure*, grpc_endpoint**, grpc_pollset_set*, grpc_channel_args const*, grpc_resolved_address const*, long long) in tcp_client_cfstream.o
  "_CFWriteStreamWrite", referenced from:
      WriteAction(void*, grpc_error*) in endpoint_cfstream.o
  "_CFRetain", referenced from:
      grpc_cfstream_endpoint_create(__CFReadStream*, __CFWriteStream*, char const*, grpc_resource_quota*, CFStreamHandle*) in endpoint_cfstream.o
  "_CFReadStreamRead", referenced from:
      ReadAction(void*, grpc_error*) in endpoint_cfstream.o
  "_CFReadStreamCopyError", referenced from:
      CFStreamHandle::ReadCallback(__CFReadStream*, unsigned long, void*) in cfstream_handle.o
      ReadAction(void*, grpc_error*) in endpoint_cfstream.o
      OnOpen(void*, grpc_error*) in tcp_client_cfstream.o
  "_CFReadStreamClose", referenced from:
      CFStreamShutdown(grpc_endpoint*, grpc_error*) in endpoint_cfstream.o
  "_CFWriteStreamClose", referenced from:
      CFStreamShutdown(grpc_endpoint*, grpc_error*) in endpoint_cfstream.o
  "_CFWriteStreamSetClient", referenced from:
      CFStreamHandle::CFStreamHandle(__CFReadStream*, __CFWriteStream*) in cfstream_handle.o
  "_CFRelease", referenced from:
      CFStreamHandle::ReadCallback(__CFReadStream*, unsigned long, void*) in cfstream_handle.o
      CFStreamHandle::WriteCallback(__CFWriteStream*, unsigned long, void*) in cfstream_handle.o
      CFStreamUnref(CFStreamEndpoint*, char const*, char const*, int) in endpoint_cfstream.o
      ReadAction(void*, grpc_error*) in endpoint_cfstream.o
      WriteAction(void*, grpc_error*) in endpoint_cfstream.o
      grpc_error_create_from_cferror(char const*, int, void*, char const*) in error_cfstream.o
      CFStreamClientConnect(grpc_closure*, grpc_endpoint**, grpc_pollset_set*, grpc_channel_args const*, grpc_resolved_address const*, long long) in tcp_client_cfstream.o
      ...
  "_CFReadStreamSetDispatchQueue", referenced from:
      CFStreamHandle::CFStreamHandle(__CFReadStream*, __CFWriteStream*) in cfstream_handle.o
  "_CFWriteStreamSetDispatchQueue", referenced from:
      CFStreamHandle::CFStreamHandle(__CFReadStream*, __CFWriteStream*) in cfstream_handle.o
  "_CFReadStreamSetClient", referenced from:
      CFStreamHandle::CFStreamHandle(__CFReadStream*, __CFWriteStream*) in cfstream_handle.o
  "_CFWriteStreamCopyError", referenced from:
      CFStreamHandle::WriteCallback(__CFWriteStream*, unsigned long, void*) in cfstream_handle.o
      WriteAction(void*, grpc_error*) in endpoint_cfstream.o
      OnOpen(void*, grpc_error*) in tcp_client_cfstream.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** ARCHIVE FAILED **

The following build commands failed: SwiftCodeGeneration normal armv7 SwiftCodeGeneration normal arm64 Ld /Users/…/Library/Caches/org.carthage.CarthageKit/DerivedData/11.1_11A1027/grpc-swift/0.10.0/Build/Intermediates.noindex/ArchiveIntermediates/SwiftGRPC-Package/IntermediateBuildFilesPath/SwiftGRPC-Carthage.build/Release-iphoneos/CgRPC.build/Objects-normal/armv7/Binary/CgRPC normal armv7 (3 failures)

Environment

Key Value
OS Version 10.15
Swift Version 5.1
Xcode Version 11.1
gRPC-Swift Version 0.10.0
protoc Version 3.10.0
protoc-gen-swift Version 1.5.0
protoc-gen-swiftgrpc Version 0.9.1
Carthage Version 0.34.0

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 15 (1 by maintainers)

Most upvoted comments

@WilliamIzzo83 and @nakkht Thank you for your reply. I am going to use the nio branch with SwiftPM.