Skip to main content
Participant
July 29, 2018
Question

can not create ipa with 3rd party library (arm64 not found)

  • July 29, 2018
  • 1 reply
  • 695 views

Hello,

I'm new to Air development and creating a ios native extension for my flash mobile project.

I want to include third party library such as Google speech library..

AIR SDK 30

xcode 9.4 / 11.4 ios sdk

I success to build ane but create ipa failed!!!

platform-ios.xml

<platform xmlns="http://ns.adobe.com/air/extension/30.0">

   <sdkVersion>11.4</sdkVersion>

   <linkerOptions>

   <option>-ios_version_min 8.0</option>

   <option>-lclang_rt.ios</option>

   </linkerOptions>

    <packagedDependencies>

   <packagedDependency>BoringSSL/libBoringSSL.a</packagedDependency>

   <packagedDependency>googleapis/libgoogleapis.a</packagedDependency>

   <packagedDependency>gRPC/libgRPC.a</packagedDependency>

   <packagedDependency>gRPC-Core/libgRPC-Core.a</packagedDependency>

   <packagedDependency>gRPC-ProtoRPC/libgRPC-ProtoRPC.a</packagedDependency>

   <packagedDependency>gRPC-RxLibrary/libgRPC-RxLibrary.a</packagedDependency>

   <packagedDependency>nanopb/libnanopb.a</packagedDependency>

   <packagedDependency>Protobuf/libProtobuf.a</packagedDependency>

    </packagedDependencies>

</platform>

this is error mesg when create ipa ant build

ipa:

     [exec] Undefined symbols for architecture arm64:

     [exec]   "_X509_get_ext_d2i", referenced from:

     [exec] Undefined symbols for architecture armv7:

     [exec]   "_GENERAL_NAME_free", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_NAME_get_index_by_NID", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_get_ext_d2i", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_NAME_get_entry", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_NAME_get_index_by_NID", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_NAME_ENTRY_get_data", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_NAME_get_entry", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_BIO_s_mem", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_NAME_ENTRY_get_data", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_BIO_get_mem_data", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_BIO_s_mem", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_get_peer_certificate", referenced from:

     [exec]       __ZL34ssl_handshaker_result_extract_peerPK21tsi_handshaker_resultP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_get_peer_certificate", referenced from:

     [exec]       __ZL34ssl_handshaker_result_extract_peerPK21tsi_handshaker_resultP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_OBJC_CLASS_$_GPBDescriptor", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(MonitoredResource.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Status.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(ErrorDetails.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Operations.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Label.pbobjc.o)

     [exec]       ...

     [exec]      (maybe you meant: _OBJC_CLASS_$_GPBDescriptorProto, _OBJC_CLASS_$_GPBDescriptorProto_ReservedRange , _OBJC_CLASS_$_GPBDescriptorRoot , _OBJC_CLASS_$_GPBDescriptorProto_ExtensionRange   "_OBJC_CLASS_$_GPBDescriptor", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(MonitoredResource.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Status.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(ErrorDetails.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Operations.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Label.pbobjc.o)

     [exec]       ...

     [exec] )

     [exec]   "_SSL_state_string", referenced from:

     [exec]       __ZL18ssl_log_where_infoPK6ssl_stiiPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]      (maybe you meant: _OBJC_CLASS_$_GPBDescriptorProto, _OBJC_CLASS_$_GPBDescriptorRoot , _OBJC_CLASS_$_GPBDescriptorProto_ReservedRange , _OBJC_CLASS_$_GPBDescriptorProto_ExtensionRange )

     [exec]   "_SSL_state_string", referenced from:

     [exec]   "_SSL_is_init_finished", referenced from:

     [exec]       __ZL18ssl_log_where_infoPK6ssl_stiiPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL19ssl_handshaker_nextP14tsi_handshakerPKhmPS2_PmPP21tsi_handshaker_resultPFv10tsi_resultPvS2_mS6_ES9_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_is_init_finished", referenced from:

     [exec]   "_OBJC_CLASS_$_GPBRootObject", referenced from:

     [exec]       _OBJC_CLASS_$_AnnotationsRoot in libgoogleapis.a(Annotations.pbobjc.o)

     [exec]       _OBJC_CLASS_$_CloudSpeechRoot in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_GPBDescriptorRoot in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       _OBJC_CLASS_$_MonitoredResourceRoot in libgoogleapis.a(MonitoredResource.pbobjc.o)

     [exec]       _OBJC_CLASS_$_StatusRoot in libgoogleapis.a(Status.pbobjc.o)

     [exec]       _OBJC_CLASS_$_ErrorDetailsRoot in libgoogleapis.a(ErrorDetails.pbobjc.o)

     [exec]       _OBJC_CLASS_$_OperationsRoot in libgoogleapis.a(Operations.pbobjc.o)

     [exec]       ...

     [exec]       __ZL19ssl_handshaker_nextP14tsi_handshakerPKhmPS2_PmPP21tsi_handshaker_resultPFv10tsi_resultPvS2_mS6_ES9_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_set_ex_data", referenced from:

     [exec]   "_OBJC_CLASS_$_GPBRootObject", referenced from:

     [exec]       _OBJC_CLASS_$_AnnotationsRoot in libgoogleapis.a(Annotations.pbobjc.o)

     [exec]       _OBJC_CLASS_$_CloudSpeechRoot in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_GPBDescriptorRoot in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       _OBJC_CLASS_$_MonitoredResourceRoot in libgoogleapis.a(MonitoredResource.pbobjc.o)

     [exec]       _OBJC_CLASS_$_StatusRoot in libgoogleapis.a(Status.pbobjc.o)

     [exec]       _OBJC_CLASS_$_ErrorDetailsRoot in libgoogleapis.a(ErrorDetails.pbobjc.o)

     [exec]       _OBJC_CLASS_$_OperationsRoot in libgoogleapis.a(Operations.pbobjc.o)

     [exec]       ...

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_set_ex_data", referenced from:

     [exec]   "_SSL_CTX_get_ex_new_index", referenced from:

     [exec]       __ZL12init_opensslv in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_PEM_read_bio_PrivateKey", referenced from:

     [exec]   "_SSL_CTX_get_ex_new_index", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL12init_opensslv in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_get_SSL_CTX", referenced from:

     [exec]   "_PEM_read_bio_PrivateKey", referenced from:

     [exec]       __ZL46server_handshaker_factory_new_session_callbackP6ssl_stP14ssl_session_st in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_BIO_pending", referenced from:

     [exec]       __ZL19ssl_handshaker_nextP14tsi_handshakerPKhmPS2_PmPP21tsi_handshaker_resultPFv10tsi_resultPvS2_mS6_ES9_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL21ssl_protector_protectP19tsi_frame_protectorPKhPmPhS3_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL27ssl_protector_protect_flushP19tsi_frame_protectorPhPmS2_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_get_SSL_CTX", referenced from:

     [exec]       __ZL46server_handshaker_factory_new_session_callbackP6ssl_stP14ssl_session_st in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_get_ex_data", referenced from:

     [exec]       __ZL46server_handshaker_factory_new_session_callbackP6ssl_stP14ssl_session_st in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_BIO_pending", referenced from:

     [exec]       __ZL19ssl_handshaker_nextP14tsi_handshakerPKhmPS2_PmPP21tsi_handshaker_resultPFv10tsi_resultPvS2_mS6_ES9_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL21ssl_protector_protectP19tsi_frame_protectorPKhPmPhS3_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL27ssl_protector_protect_flushP19tsi_frame_protectorPhPmS2_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_use_PrivateKey", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_get_ex_data", referenced from:

     [exec]       __ZL46server_handshaker_factory_new_session_callbackP6ssl_stP14ssl_session_st in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_library_init", referenced from:

     [exec]       __ZL12init_opensslv in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_use_PrivateKey", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_BIO_new_bio_pair", referenced from:

     [exec]       __ZL25create_tsi_ssl_handshakerP10ssl_ctx_stiPKcP26tsi_ssl_handshaker_factoryPP14tsi_handshaker in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_library_init", referenced from:

     [exec]       __ZL12init_opensslv in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_PEM_read_bio_X509", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_BIO_new_bio_pair", referenced from:

     [exec]       __ZL25create_tsi_ssl_handshakerP10ssl_ctx_stiPKcP26tsi_ssl_handshaker_factoryPP14tsi_handshaker in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_add_extra_chain_cert", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_PEM_read_bio_X509", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_load_error_strings", referenced from:

     [exec]       __ZL12init_opensslv in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_add_extra_chain_cert", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_check_private_key", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_load_error_strings", referenced from:

     [exec]       __ZL12init_opensslv in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_STORE_up_ref", referenced from:

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_check_private_key", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_OpenSSL_add_all_algorithms", referenced from:

     [exec]       __ZL12init_opensslv in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_STORE_up_ref", referenced from:

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_state_string_long", referenced from:

     [exec]       __ZL18ssl_log_where_infoPK6ssl_stiiPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_OpenSSL_add_all_algorithms", referenced from:

     [exec]   "_X509_STORE_free", referenced from:

     [exec]       __ZL12init_opensslv in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __Z31tsi_ssl_root_certs_store_createPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_BIO_get_mem_data", referenced from:

     [exec]   "_SSL_CTX_set_cert_store", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_state_string_long", referenced from:

     [exec]   "_SSL_set_connect_state", referenced from:

     [exec]       __ZL25create_tsi_ssl_handshakerP10ssl_ctx_stiPKcP26tsi_ssl_handshaker_factoryPP14tsi_handshaker in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL18ssl_log_where_infoPK6ssl_stiiPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_OBJC_METACLASS_$_GPBMessage", referenced from:

     [exec]       _OBJC_METACLASS_$_RecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_LongRunningRecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_StreamingRecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_StreamingRecognitionConfig in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_RecognitionConfig in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_SpeechContext in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_RecognitionAudio in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       ...

     [exec]   "_X509_STORE_free", referenced from:

     [exec]       __Z31tsi_ssl_root_certs_store_createPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]      (maybe you meant: _OBJC_METACLASS_$_GPBMessageOptions)

     [exec]   "_BIO_new_mem_buf", referenced from:

     [exec]       __ZL21x509_store_load_certsP13x509_store_stPKcmPP18stack_st_X509_NAME in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_set_cert_store", referenced from:

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_STORE_add_cert", referenced from:

     [exec]       __ZL21x509_store_load_certsP13x509_store_stPKcmPP18stack_st_X509_NAME in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_set_connect_state", referenced from:

     [exec]       __ZL25create_tsi_ssl_handshakerP10ssl_ctx_stiPKcP26tsi_ssl_handshaker_factoryPP14tsi_handshaker in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_ASN1_STRING_to_UTF8", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_OBJC_METACLASS_$_GPBMessage", referenced from:

     [exec]       _OBJC_METACLASS_$_RecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_LongRunningRecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_StreamingRecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_StreamingRecognitionConfig in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_RecognitionConfig in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_SpeechContext in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_RecognitionAudio in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       ...

     [exec]      (maybe you meant: _OBJC_METACLASS_$_GPBMessageOptions  "_PEM_read_bio_X509_AUX", referenced from:

     [exec]       __ZL21x509_store_load_certsP13x509_store_stPKcmPP18stack_st_X509_NAME in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec] )

     [exec]   "_BIO_new_mem_buf", referenced from:

     [exec]       __ZL21x509_store_load_certsP13x509_store_stPKcmPP18stack_st_X509_NAME in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_get_cert_store", referenced from:

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_STORE_add_cert", referenced from:

     [exec]       __ZL21x509_store_load_certsP13x509_store_stPKcmPP18stack_st_X509_NAME in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_STORE_new", referenced from:

     [exec]       __Z31tsi_ssl_root_certs_store_createPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_ASN1_STRING_to_UTF8", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_get0_next_proto_negotiated", referenced from:

     [exec]       __ZL34ssl_handshaker_result_extract_peerPK21tsi_handshaker_resultP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_PEM_read_bio_X509_AUX", referenced from:

     [exec]       __ZL21x509_store_load_certsP13x509_store_stPKcmPP18stack_st_X509_NAME in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_PEM_write_bio_X509", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_get_cert_store", referenced from:

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_CTX_set_tmp_ecdh", referenced from:

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_STORE_new", referenced from:

     [exec]       __Z31tsi_ssl_root_certs_store_createPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_GENERAL_NAME_free", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_get0_next_proto_negotiated", referenced from:

     [exec]       __ZL34ssl_handshaker_result_extract_peerPK21tsi_handshaker_resultP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_SSL_set_info_callback", referenced from:

     [exec]       __ZL25create_tsi_ssl_handshakerP10ssl_ctx_stiPKcP26tsi_ssl_handshaker_factoryPP14tsi_handshaker in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_PEM_write_bio_X509", referenced from:

     [exec]   "_OBJC_CLASS_$_GPBExtensionRegistry", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       objc-class-ref in libgoogleapis.a(Annotations.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Operations.pbobjc.o)

     [exec]   "_SSL_CTX_set_tmp_ecdh", referenced from:

     [exec]   "_OBJC_CLASS_$_GPBFileDescriptor", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(MonitoredResource.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Status.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(ErrorDetails.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Operations.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Label.pbobjc.o)

     [exec]       ...

     [exec]       __ZL20populate_ssl_contextP10ssl_ctx_stPK25tsi_ssl_pem_key_cert_pairPKc in libgRPC-Core.a(ssl_transport_security.o)

     [exec]      (maybe you meant: _OBJC_CLASS_$_GPBFileDescriptorProto, _OBJC_CLASS_$_GPBFileDescriptorSet )

     [exec]   "_OPENSSL_free", referenced from:

     [exec]   "_SSL_set_info_callback", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL25create_tsi_ssl_handshakerP10ssl_ctx_stiPKcP26tsi_ssl_handshaker_factoryPP14tsi_handshaker in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_TLSv1_2_method", referenced from:

     [exec]   "_OBJC_CLASS_$_GPBExtensionRegistry", referenced from:

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       objc-class-ref in libgoogleapis.a(Annotations.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Operations.pbobjc.o)

     [exec]   "_OBJC_CLASS_$_GPBMessage", referenced from:

     [exec]       _OBJC_CLASS_$_RecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_LongRunningRecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_StreamingRecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_StreamingRecognitionConfig in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_RecognitionConfig in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_SpeechContext in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_RecognitionAudio in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       ...

     [exec]   "_OBJC_CLASS_$_GPBFileDescriptor", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(MonitoredResource.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Status.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(ErrorDetails.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Operations.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Label.pbobjc.o)

     [exec]       ...

     [exec]      (maybe you meant: _OBJC_CLASS_$_GPBFileDescriptorProto     (maybe you meant: _OBJC_CLASS_$_GPBMessageOptions)

     [exec]   "_SSL_set_accept_state", referenced from:

     [exec] , _OBJC_CLASS_$_GPBFileDescriptorSet       __ZL25create_tsi_ssl_handshakerP10ssl_ctx_stiPKcP26tsi_ssl_handshaker_factoryPP14tsi_handshaker in libgRPC-Core.a(ssl_transport_security.o)

     [exec] )

     [exec]   "_OPENSSL_free", referenced from:

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_OBJC_CLASS_$_GPBEnumDescriptor", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Label.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Code.pbobjc.o)

     [exec]   "_TLSv1_2_method", referenced from:

     [exec]       __Z53tsi_create_ssl_client_handshaker_factory_with_optionsPK33tsi_ssl_client_handshaker_optionsPP33tsi_ssl_client_handshaker_factory in libgRPC-Core.a(ssl_transport_security.o)

     [exec]      (maybe you meant: _OBJC_CLASS_$_GPBEnumDescriptorProto)

     [exec]   "_OBJC_CLASS_$_GPBEmpty", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(Operations.pbrpc.o)

     [exec]   "_OBJC_CLASS_$_GPBMessage", referenced from:

     [exec]       _OBJC_CLASS_$_RecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_LongRunningRecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_StreamingRecognizeRequest in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_StreamingRecognitionConfig in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_RecognitionConfig in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_SpeechContext in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_CLASS_$_RecognitionAudio in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       ...

     [exec]   "_OBJC_METACLASS_$_GPBRootObject", referenced from:

     [exec]       _OBJC_METACLASS_$_AnnotationsRoot in libgoogleapis.a(Annotations.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_CloudSpeechRoot in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_GPBDescriptorRoot in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_MonitoredResourceRoot in libgoogleapis.a(MonitoredResource.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_StatusRoot in libgoogleapis.a(Status.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_ErrorDetailsRoot in libgoogleapis.a(ErrorDetails.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_OperationsRoot in libgoogleapis.a(Operations.pbobjc.o)

     [exec]       ...

     [exec]      (maybe you meant: _OBJC_CLASS_$_GPBMessageOptions)

     [exec]   "_SSL_set_accept_state", referenced from:

     [exec]       __ZL25create_tsi_ssl_handshakerP10ssl_ctx_stiPKcP26tsi_ssl_handshaker_factoryPP14tsi_handshaker in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_X509_get_subject_name", referenced from:

     [exec]       __ZL21x509_store_load_certsP13x509_store_stPKcmPP18stack_st_X509_NAME in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_OBJC_CLASS_$_GPBEnumDescriptor", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Label.pbobjc.o)

     [exec]       objc-class-ref in libgoogleapis.a(Code.pbobjc.o)

     [exec]   "_BIO_should_retry", referenced from:

     [exec]       __ZL19ssl_handshaker_nextP14tsi_handshakerPKhmPS2_PmPP21tsi_handshaker_resultPFv10tsi_resultPvS2_mS6_ES9_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]      (maybe you meant: _OBJC_CLASS_$_GPBEnumDescriptorProto)

     [exec]   "_OBJC_CLASS_$_GPBEmpty", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(Operations.pbrpc.o)

     [exec]   "_OBJC_CLASS_$_GPBExtensionDescriptor", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(Annotations.pbobjc.o)

     [exec]   "_OBJC_METACLASS_$_GPBRootObject", referenced from:

     [exec]       _OBJC_METACLASS_$_AnnotationsRoot in libgoogleapis.a(Annotations.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_CloudSpeechRoot in libgoogleapis.a(CloudSpeech.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_GPBDescriptorRoot in libgoogleapis.a(Descriptor.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_MonitoredResourceRoot in libgoogleapis.a(MonitoredResource.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_StatusRoot in libgoogleapis.a(Status.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_ErrorDetailsRoot in libgoogleapis.a(ErrorDetails.pbobjc.o)

     [exec]       _OBJC_METACLASS_$_OperationsRoot in libgoogleapis.a(Operations.pbobjc.o)

     [exec]       ...

     [exec]   "_X509_get_subject_name", referenced from:

     [exec]       __ZL21x509_store_load_certsP13x509_store_stPKcmPP18stack_st_X509_NAME in libgRPC-Core.a(ssl_transport_security.o)

     [exec]       __ZL14peer_from_x509P7x509_stiP8tsi_peer in libgRPC-Core.a(ssl_transport_security.o)

     [exec] ld: symbol(s) not found for architecture arm64

     [exec]   "_BIO_should_retry", referenced from:

     [exec]       __ZL19ssl_handshaker_nextP14tsi_handshakerPKhmPS2_PmPP21tsi_handshaker_resultPFv10tsi_resultPvS2_mS6_ES9_ in libgRPC-Core.a(ssl_transport_security.o)

     [exec]   "_OBJC_CLASS_$_GPBExtensionDescriptor", referenced from:

     [exec]       objc-class-ref in libgoogleapis.a(Annotations.pbobjc.o)

     [exec] ld: symbol(s) not found for architecture armv7

     [exec] Compilation failed while executing : ld64

Please help me.

This topic has been closed for replies.

1 reply

Legend
July 30, 2018

You are getting undefined symbols errors for openSSL methods.

What this means is that libgRPC-Core.a is calling a method on a dependency which you have not packaged.

These errors only show up when building the ipa and not the ANE.

It seems unusual to me that you are using .a files for Boring, ProtoBuf etc.

These normally are static frameworks.

If you have a sample Xcode project for Google Speech - check the pods used and/or "other linker flags" to ensure you are linking all the required libraries and iOS SDK frameworks (eg -framework Security)

As reference here is a Google FirestoreANE platform.xml which uses alot of the same libraries as you above

<?xml version="1.0" encoding="utf-8"?>

<platform xmlns="http://ns.adobe.com/air/extension/19.0">

  <sdkVersion>11.4</sdkVersion>

  <linkerOptions>

  <option>-ios_version_min 9.0</option>

  <option>-lstdc++</option>

  <option>-lc++</option>

  <option>-lsqlite3</option>

  <option>-lz</option>

  <option>-w</option>

  <option>-ObjC</option>

  <option>-framework SafariServices</option>

  <option>-framework Security</option>

  <option>-framework StoreKit</option>

  <option>-framework SystemConfiguration</option>

  <option>-rpath @executable_path/Frameworks</option>

  </linkerOptions>

  

  <packagedDependencies>

  <packagedDependency>Frameworks/FirebaseFirestore.framework</packagedDependency>

  <packagedDependency>Frameworks/BoringSSL.framework</packagedDependency>

  <packagedDependency>Frameworks/gRPC-Core.framework</packagedDependency>

  <packagedDependency>Frameworks/gRPC-ProtoRPC.framework</packagedDependency>

  <packagedDependency>Frameworks/gRPC-RxLibrary.framework</packagedDependency>

  <packagedDependency>Frameworks/gRPC.framework</packagedDependency>

  <packagedDependency>Frameworks/leveldb-library.framework</packagedDependency>

  <packagedDependency>Frameworks/Protobuf.framework</packagedDependency>

  </packagedDependencies>

  

</platform>