iOS builds broken #1172

Closed
chris-araman opened this Issue Dec 22, 2016 · 2 comments

Projects

None yet

2 participants

@chris-araman
Contributor
chris-araman commented Dec 22, 2016 edited

Compiling curl 7.52.0 on macOS 10.12.2 with Xcode 8.2.1, targeting iOS 10.2 SDK with minimum iOS version 8.0.

vtls/darwinssl.c:939:11: error: implicit declaration of function 'SecCertificateCopyCommonName' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
          SecCertificateCopyCommonName(cert, &common_name);
vtls/darwinssl.c:939:11: note: did you mean 'SecCertificateCopyData'?
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/Security.framework/Headers/SecCertificate.h:72:11: note: 'SecCertificateCopyData' declared here
CFDataRef SecCertificateCopyData(SecCertificateRef certificate)
Undefined symbols for architecture armv7:
  "_SecCertificateCopyCommonName", referenced from:
      _darwinssl_connect_common in libcurl.a(libcurl_la-darwinssl.o)
ld: symbol(s) not found for architecture armv7
  curl version:     7.52.0-DEV
  Host setup:       aarch64-apple-darwin
  Install prefix:   /Users/prod_fuze/jenkins/workspace/Build3rdpartyiOS/src/cmake/build/Source/curl/../curl-7_52_0-built/iphoneos10.2-arm64.sdk
  Compiler:         /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
  SSL support:      enabled (Apple OS-native)
  SSH support:      no      (--with-libssh2)
  zlib support:     enabled
  GSS-API support:  no      (--with-gssapi)
  TLS-SRP support:  no      (--enable-tls-srp)
  resolver:         c-ares
  IPv6 support:     enabled
  Unix sockets support: enabled
  IDN support:      no      (--with-{libidn2,winidn})
  Build libcurl:    Shared=no, Static=yes
  Built-in manual:  enabled
  --libcurl option: enabled (--disable-libcurl-option)
  Verbose errors:   enabled (--disable-verbose)
  SSPI support:     no      (--enable-sspi)
  ca cert bundle:   no
  ca cert path:     no
  ca fallback:      no
  LDAP support:     no      (--enable-ldap / --with-ldap-lib / --with-lber-lib)
  LDAPS support:    no      (--enable-ldaps)
  RTSP support:     no      (--enable-rtsp)
  RTMP support:     no      (--with-librtmp)
  metalink support: no      (--with-libmetalink)
  PSL support:      no      (libpsl not found)
  HTTP2 support:    disabled (--with-nghttp2)
  Protocols:        HTTP HTTPS

I believe this was broken here:
#1105

The Mac-specific fix was applied to a block for both Mac and iOS:
https://github.com/curl/curl/pull/1105/files#diff-27cef59ee29e3ed5adfea7e5dde198c0R891

@bagder
Member
bagder commented Dec 22, 2016

Any chance you have a fix to suggest? (also ping @nickzman for the general area)

@chris-araman
Contributor

I can propose a fix for the iOS build break, but unfortunately I don't have an environment in which to validate client certificate matching for iOS or macOS. For now, we've decided to just roll back to curl 7.51.0.

@bagder bagder added a commit that closed this issue Dec 27, 2016
@chris-araman @bagder chris-araman + bagder darwinssl: fix iOS build
Reviewed-by: Nick Zitzmann
Fixes #1172
8db3afe
@bagder bagder closed this in 8db3afe Dec 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment