Skip to content

[C++] ArrowConfig.cmake misses some system dependencies on macOS #47748

@kou

Description

@kou

Describe the bug, including details regarding any error messages, version, and platform.

https://github.com/apache/arrow-java/actions/runs/18333211588/job/52212303058#step:12:2169

  FAILED: [code=1] dataset/libarrow_dataset_jni.dylib 
  : && /usr/bin/c++ -O3 -DNDEBUG -arch arm64 -mmacosx-version-min=14.0 -dynamiclib -Wl,-headerpad_max_install_names -o dataset/libarrow_dataset_jni.dylib -install_name @rpath/libarrow_dataset_jni.dylib dataset/CMakeFiles/arrow_java_jni_dataset.dir/src/main/cpp/jni_wrapper.cc.o dataset/CMakeFiles/arrow_java_jni_dataset.dir/src/main/cpp/jni_util.cc.o  /Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libarrow_dataset.a  /Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libarrow_substrait.a  /Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libarrow_dataset.a  /Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libparquet.a  /opt/homebrew/Cellar/thrift/0.22.0/lib/libthrift.a  /Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libarrow_acero.a  /Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libarrow_compute.a  /Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libarrow.a  /Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libarrow_bundled_dependencies.a  /opt/homebrew/opt/openssl@3/lib/libssl.a  /opt/homebrew/opt/openssl@3/lib/libcrypto.a  /opt/homebrew/opt/lz4/lib/liblz4.a  /opt/homebrew/lib/libsnappy.a  /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libz.tbd  /opt/homebrew/lib/libzstd.a  /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libcurl.tbd  /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libcurl.tbd  /opt/homebrew/lib/libutf8proc.a && :
  ld: warning: ignoring duplicate libraries: '/Users/runner/work/arrow-java/arrow-java/build/cpp-install/lib/libarrow_dataset.a'
  Undefined symbols for architecture arm64:
    "_CFAllocatorCreate", referenced from:
        _aws_wrapped_cf_allocator_new in libarrow_bundled_dependencies.a[467](allocator.c.o)
    "_CFArrayAppendValue", referenced from:
        _aws_import_trusted_certificates in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _s_tls_handler_new in libarrow_bundled_dependencies.a[418](secure_transport_tls_channel_handler.c.o)
    "_CFArrayCreate", referenced from:
        _aws_import_public_and_private_keys_to_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_import_pkcs12_to_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
    "_CFArrayCreateMutable", referenced from:
        _aws_import_trusted_certificates in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _s_tls_handler_new in libarrow_bundled_dependencies.a[418](secure_transport_tls_channel_handler.c.o)
    "_CFArrayGetCount", referenced from:
        _aws_secitem_import_pkcs12 in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _s_drive_negotiation in libarrow_bundled_dependencies.a[418](secure_transport_tls_channel_handler.c.o)
    "_CFArrayGetValueAtIndex", referenced from:
        _aws_import_public_and_private_keys_to_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_import_pkcs12_to_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_secitem_import_pkcs12 in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _s_drive_negotiation in libarrow_bundled_dependencies.a[418](secure_transport_tls_channel_handler.c.o)
    "_CFDataCreate", referenced from:
        _aws_import_ecc_key_into_keychain in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_import_public_and_private_keys_to_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_import_public_and_private_keys_to_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_import_public_and_private_keys_to_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_import_pkcs12_to_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_secitem_import_cert_and_key in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_secitem_import_cert_and_key in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        ...
    "_CFDataCreateWithBytesNoCopy", referenced from:
        _s_process_connection_state_changed_task in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_nw_release", referenced from:
        _s_socket_impl_destroy in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        _s_socket_connect_fn in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        _s_socket_bind_fn in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        _s_setup_socket_params in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        _s_process_connection_state_changed_task in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        _s_process_connection_state_changed_task in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        _s_process_connection_state_changed_task in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        ...
    "_nw_retain", referenced from:
        _s_socket_connect_fn in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        _s_socket_listen_fn in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
        ___s_socket_start_accept_fn_block_invoke_2 in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_nw_tcp_options_set_connection_timeout", referenced from:
        _s_setup_tcp_options in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_nw_tcp_options_set_enable_keepalive", referenced from:
        _s_setup_tcp_options in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_nw_tcp_options_set_keepalive_count", referenced from:
        _s_setup_tcp_options in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_nw_tcp_options_set_keepalive_idle_time", referenced from:
        _s_setup_tcp_options in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_nw_tcp_options_set_keepalive_interval", referenced from:
        _s_setup_tcp_options in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_nw_tcp_options_set_maximum_segment_size", referenced from:
        _s_setup_tcp_options in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_nw_tls_copy_sec_protocol_options", referenced from:
        ___s_setup_socket_params_block_invoke in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_sec_identity_create", referenced from:
        _s_aws_secitem_get_identity in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
        _aws_secitem_import_pkcs12 in libarrow_bundled_dependencies.a[415](darwin_pki_utils.c.o)
    "_sec_protocol_metadata_get_negotiated_protocol", referenced from:
        _s_process_connection_state_changed_task in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_sec_protocol_options_add_tls_application_protocol", referenced from:
        ___s_setup_socket_params_block_invoke in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_sec_protocol_options_set_local_identity", referenced from:
        ___s_setup_socket_params_block_invoke in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_sec_protocol_options_set_min_tls_protocol_version", referenced from:
        ___s_setup_socket_params_block_invoke in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_sec_protocol_options_set_peer_authentication_required", referenced from:
        ___s_setup_socket_params_block_invoke in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_sec_protocol_options_set_tls_server_name", referenced from:
        ___s_setup_socket_params_block_invoke in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_sec_protocol_options_set_verify_block", referenced from:
        ___s_setup_socket_params_block_invoke in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
    "_sec_trust_copy_ref", referenced from:
        ___s_setup_tls_options_block_invoke in libarrow_bundled_dependencies.a[417](nw_socket.c.o)
  ld: symbol(s) not found for architecture arm64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)

if("AWS::aws-c-common" IN_LIST ARROW_BUNDLED_STATIC_LIBS)
should use aws-c-common not AWS::aws-c-common.

Component(s)

C++

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions