o3de / o3de

Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.

Home Page:https://o3de.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Monolithic Android doesn't build with the latest AWSNativeSDK-1.11.288

akioCL opened this issue · comments

Describe the bug
Projects using the AWSNativeSDK version 1.11.288 are not able to build Android monolithic due to missing symbols.

Assets required
None

Steps to reproduce
Steps to reproduce the behavior:

  1. Generate Android Gradle project for AutomatedTesting
  2. Go to build folder
  3. Build Android using .\gradlew assembleProfile
  4. See error
 ld: error: undefined symbol: aws_sdkutils_library_init
  >>> referenced by Api.cpp:49 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/Api.cpp:49)
  >>>               Api.cpp.o:(Aws::Crt::ApiHandle::ApiHandle(aws_allocator*)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a
  >>> referenced by Api.cpp:49 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/Api.cpp:49)
  >>>               Api.cpp.o:(Aws::Crt::ApiHandle::ApiHandle()) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a
  >>> referenced by auth.c:149 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/crt/aws-c-auth/source/auth.c:149)
  >>>               auth.c.o:(aws_auth_library_init) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-c-auth.a

  ld: error: undefined symbol: aws_sdkutils_library_clean_up
  >>> referenced by Api.cpp:79 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/Api.cpp:79)
  >>>               Api.cpp.o:(Aws::Crt::ApiHandle::~ApiHandle()) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a
  >>> referenced by auth.c:172 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/crt/aws-c-auth/source/auth.c:172)
  >>>               auth.c.o:(aws_auth_library_clean_up) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-c-auth.a

  ld: error: undefined symbol: aws_endpoints_request_context_new
  >>> referenced by RuleEngine.cpp:20 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:20)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RequestContext::RequestContext(aws_allocator*)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_request_context_release
  >>> referenced by RuleEngine.cpp:25 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:25)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RequestContext::~RequestContext()) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_request_context_add_string
  >>> referenced by RuleEngine.cpp:31 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:31)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RequestContext::AddString(aws_byte_cursor const&, aws_byte_cursor const&)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_request_context_add_boolean
  >>> referenced by RuleEngine.cpp:37 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:37)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RequestContext::AddBoolean(aws_byte_cursor const&, bool)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_resolved_endpoint_release
  >>> referenced by RuleEngine.cpp:58 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:58)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::operator=(Aws::Crt::Endpoints::ResolutionOutcome&&)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a
  >>> referenced by RuleEngine.cpp:58 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:58)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::operator=(Aws::Crt::Endpoints::ResolutionOutcome&&)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a
  >>> referenced by RuleEngine.cpp:58 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:58)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::~ResolutionOutcome()) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a
  >>> referenced 1 more times

  ld: error: undefined symbol: aws_endpoints_resolved_endpoint_get_type
  >>> referenced by RuleEngine.cpp:62 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:62)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::IsEndpoint() const) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a
  >>> referenced by RuleEngine.cpp:67 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:67)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::IsError() const) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_resolved_endpoint_get_url
  >>> referenced by RuleEngine.cpp:73 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:73)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::GetUrl() const) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_resolved_endpoint_get_headers
  >>> referenced by RuleEngine.cpp:91 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:91)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::GetHeaders() const) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_resolved_endpoint_get_properties
  >>> referenced by RuleEngine.cpp:113 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:113)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::GetProperties() const) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_resolved_endpoint_get_error
  >>> referenced by RuleEngine.cpp:124 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:124)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::ResolutionOutcome::GetError() const) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_ruleset_new_from_string
  >>> referenced by RuleEngine.cpp:138 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:138)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RuleEngine::RuleEngine(aws_byte_cursor const&, aws_byte_cursor const&, aws_allocator*)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_partitions_config_new_from_string
  >>> referenced by RuleEngine.cpp:139 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:139)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RuleEngine::RuleEngine(aws_byte_cursor const&, aws_byte_cursor const&, aws_allocator*)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_rule_engine_new
  >>> referenced by RuleEngine.cpp:142 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:142)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RuleEngine::RuleEngine(aws_byte_cursor const&, aws_byte_cursor const&, aws_allocator*)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_ruleset_release
  >>> referenced by RuleEngine.cpp:147 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:147)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RuleEngine::RuleEngine(aws_byte_cursor const&, aws_byte_cursor const&, aws_allocator*)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_partitions_config_release
  >>> referenced by RuleEngine.cpp:152 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:152)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RuleEngine::RuleEngine(aws_byte_cursor const&, aws_byte_cursor const&, aws_allocator*)) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_rule_engine_release
  >>> referenced by RuleEngine.cpp:156 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:156)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RuleEngine::~RuleEngine()) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_endpoints_rule_engine_resolve
  >>> referenced by RuleEngine.cpp:161 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/source/endpoints/RuleEngine.cpp:161)
  >>>               RuleEngine.cpp.o:(Aws::Crt::Endpoints::RuleEngine::Resolve(Aws::Crt::Endpoints::RequestContext const&) const) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-crt-cpp.a

  ld: error: undefined symbol: aws_profile_collection_acquire
  >>> referenced by credentials_provider_process.c:167 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/crt/aws-c-auth/source/credentials_provider_process.c:167)
  >>>               credentials_provider_process.c.o:(aws_credentials_provider_new_process) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-c-auth.a
  >>> referenced by credentials_provider_profile.c:387 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/crt/aws-c-auth/source/credentials_provider_profile.c:387)
  >>>               credentials_provider_profile.c.o:(aws_credentials_provider_new_profile) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-c-auth.a
  >>> referenced by credentials_provider_profile.c:202 (D:/a/3p-package-source/3p-package-source/source/package-system/AWSNativeSDK/temp/src/crt/aws-crt-cpp/crt/aws-c-auth/source/credentials_provider_profile.c:202)
  >>>               credentials_provider_profile.c.o:(s_create_profile_based_provider) in archive D:/o3de-packages/packages/AWSNativeSDK-1.11.288-rev1-android/AWSNativeSDK/lib/Release/libaws-c-auth.a
  >>> referenced 2 more times

Expected behavior
Build sucess

Actual behavior
Build failure

Found in Branch
Development

Commit ID from o3de/o3de Repository
1bf7e24

Additional context
API level 31, NDK 25