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