jeroen opened a new issue, #38861:
URL: https://github.com/apache/arrow/issues/38861

   ### Describe the bug, including details regarding any error messages, 
version, and platform.
   
   When we vendor `aws-sdk-cpp` in `libarrow_bundled_dependencies.a` it needs 
to be linked with `-framework Security` on MacOS, because it uses SecureChannel 
APIs.
   
   Currently the `arrow.pc` file from 
[arrow-14.0.0.100000090.zip](https://nightlies.apache.org/arrow/r/libarrow/bin/darwin-x86_64-openssl-1.1/arrow-14.0.0.100000090.zip)
 looks like this:
   
   ```
   Name: Apache Arrow
   Description: Arrow is a set of technologies that enable big-data systems to 
process and move data fast.
   Version: 15.0.0-SNAPSHOT
   Requires: libcurl openssl
   Requires.private:
   Libs: -L${libdir} -larrow -larrow_bundled_dependencies
   Libs.private:
   Cflags: -I${includedir} -DARROW_STATIC
   Cflags.private:
   ```
   
   I think this should be:
   
   ```
   Libs: -L${libdir} -larrow -larrow_bundled_dependencies -framework Security
   ```
   
   Right now we get this:
   
   ```
   Undefined symbols for architecture x86_64:
     "_SSLClose", referenced from:
         _s_handle_shutdown in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLCopyPeerTrust", referenced from:
         _s_drive_negotiation in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLCreateContext", referenced from:
         _s_tls_handler_new in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLHandshake", referenced from:
         _s_drive_negotiation in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLRead", referenced from:
         _s_process_read_message in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLSetCertificate", referenced from:
         _s_tls_handler_new in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLSetConnection", referenced from:
         _s_tls_handler_new in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLSetIOFuncs", referenced from:
         _s_tls_handler_new in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLSetPeerDomainName", referenced from:
         _s_tls_handler_new in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLSetProtocolVersionMin", referenced from:
         _s_tls_handler_new in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLSetSessionOption", referenced from:
         _s_tls_handler_new in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SSLWrite", referenced from:
         _s_process_write_message in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SecCertificateCreateWithData", referenced from:
         _aws_import_public_and_private_keys_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
         _aws_import_trusted_certificates in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_SecIdentityCreateWithCertificate", referenced from:
         _aws_import_public_and_private_keys_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_SecItemExport", referenced from:
         _aws_ecc_key_pair_new_generate_random in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_SecItemImport", referenced from:
         _aws_import_ecc_key_into_keychain in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
         _aws_import_public_and_private_keys_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_SecKeyCopyPublicKey", referenced from:
         _aws_ecc_key_pair_new_generate_random in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_SecKeyCreateRandomKey", referenced from:
         _aws_ecc_key_pair_new_generate_random in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_SecKeyCreateSignature", referenced from:
         _s_sign_message in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_SecKeyCreateWithData", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_SecKeyVerifySignature", referenced from:
         _s_verify_signature in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_SecKeychainCopyDefault", referenced from:
         _aws_import_public_and_private_keys_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_SecKeychainOpen", referenced from:
         _aws_import_public_and_private_keys_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_SecKeychainUnlock", referenced from:
         _aws_import_public_and_private_keys_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_SecPKCS12Import", referenced from:
         _aws_import_pkcs12_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_SecPolicyCreateBasicX509", referenced from:
         _s_drive_negotiation in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SecPolicyCreateSSL", referenced from:
         _s_drive_negotiation in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SecTrustEvaluate", referenced from:
         _s_drive_negotiation in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SecTrustSetAnchorCertificates", referenced from:
         _s_drive_negotiation in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SecTrustSetAnchorCertificatesOnly", referenced from:
         _s_drive_negotiation in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_SecTrustSetPolicies", referenced from:
         _s_drive_negotiation in 
libarrow_bundled_dependencies.a(secure_transport_tls_channel_handler.c.o)
     "_kSecAttrCanDerive", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecAttrCanSign", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecAttrCanVerify", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecAttrKeyClass", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_generate_random in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecAttrKeyClassPrivate", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_generate_random in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecAttrKeyClassPublic", referenced from:
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecAttrKeySizeInBits", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_generate_random in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecAttrKeyType", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_generate_random in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecAttrKeyTypeECSECPrimeRandom", referenced from:
         _aws_ecc_key_pair_new_from_private_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_public_key_impl in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_generate_random in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _aws_ecc_key_pair_new_from_asn1 in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
     "_kSecImportExportPassphrase", referenced from:
         _aws_import_pkcs12_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_kSecImportItemIdentity", referenced from:
         _aws_import_pkcs12_to_identity in 
libarrow_bundled_dependencies.a(darwin_pki_utils.c.o)
     "_kSecKeyAlgorithmECDSASignatureDigestX962", referenced from:
         _s_sign_message in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
         _s_verify_signature in 
libarrow_bundled_dependencies.a(securityframework_ecc.c.o)
   ```
   
   
   
   See also: https://github.com/apache/arrow/issues/38855
   
   ### Component(s)
   
   C++


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to