jeroen commented on issue #38855:
URL: https://github.com/apache/arrow/issues/38855#issuecomment-1824189908

   OK that helps, `darwin-x86_64-openssl-1.1` is needed because this is a 
replica of the CRAN machine. Btw, why don't you include a static copy of 
openssl with the bundle, instead of guessing what the system has?
   
   There is an additional issue, your code is missing a flag `-framework 
Security` in `PKG_LIBS`. The linker in our container is a bit more more strict 
in that you have to link all dependencies, even libraries/frameworks that are 
pre-loaded in R. Without that you get these linking errors:
   
   ```
   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)
   ```
   
   
   
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to