aws-sdk-cpp icon indicating copy to clipboard operation
aws-sdk-cpp copied to clipboard

arm32 build issue with some libs

Open thomas-roos opened this issue 2 years ago • 4 comments

Describe the bug

When building for arm32 those libs do not build:

# ec2;\
# ec2-instance-connect;\
# polly-sample;\
# ssm;\
# ssm-contacts;\
# ssm-incidents;\
# ssm-sap;\
# sagemaker;\
# sagemaker-a2i-runtime;\
# sagemaker-edge;\
# sagemaker-featurestore-runtime;\
# sagemaker-geospatial;\
# sagemaker-metrics;\
# sagemaker-runtime;\
# rds;\
# rds-data;\
# securityhub;\
# quicksight;\
# iot;\
# redshift;\
# redshift-data;\
# redshift-serverless;\
# pinpoint;\
# pinpoint-email;\
# pinpoint-sms-voice-v2;\
# glue;\
# lightsail;\
# s3-crt;\
# s3;\
# s3control;\
# s3-encryption;\
# s3outposts;\
# identity-management;\

Expected Behavior

build as they do with arm64, x86-64

Current Behavior

error.log

Reproduction Steps

yocto (master) + meta-aws and enable building of all libs

Possible Solution

No response

Additional Information/Context

No response

AWS CPP SDK version used

1.10.30

Compiler and Version used

x86_64-poky-linux-g++ (GCC) 12.2.0

Operating System and version

yocto master on ubuntu 22.04.

thomas-roos avatar Dec 16 '22 08:12 thomas-roos

Easy reproducible example: https://github.com/thomas-roos/yocto_example/tree/aws-sdk-cpp_issue_2242

thomas-roos avatar Feb 13 '23 09:02 thomas-roos

cmake -DCMAKE_CXX_FLAGS="-Wno-psabi" helped to fix some ABI warnings but still those - do not build:

ec2
s3-encryption
identity-management

ERROR:

...
aws-cpp-sdk-ec2-integration-tests/CMakeFiles/aws-cpp-sdk-ec2-integration-tests.dir/EC2Tests.cpp.o:(.rodata+0xc0): first defined here
| /home/ubuntu/yocto/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.24-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/12.2.0/ld: tests/aws-cpp-sdk-ec2-integration-tests/CMakeFiles/aws-cp
p-sdk-ec2-integration-tests.dir/EC2TestsDualStack.cpp.o:(.data.rel.ro+0x8): multiple definition of `typeinfo for Aws::Endpoint::DefaultEndpointProvider<Aws::Client::GenericClientConfiguration<true>, Aws::Endpoint::BuiltInParameters, Aws::Endpoint::ClientContextParameters>'; tests/a
...

full log (for ec2): error_ec.log

thomas-roos avatar Mar 03 '23 13:03 thomas-roos

Can you try updating to the latest version of this sdk or remove unity from your build? Since this issues was opened we broke up the unity build, so it should now build on 32bit systems. You still might have problems with ec2, but please let us know if you run into those problems

jmklix avatar Aug 23 '24 17:08 jmklix

Hi, build now works fine. But just one thing would be great if possible. Only on arm32 it seems that absolute paths are in the generated cpp files. Yocto is complaining about that - would be great if those were like relative paths. Also I do not know why this does not happen with arm64? Such as in this file: generated/src/aws-cpp-sdk-vpc-lattice/ub_VPC-LATTICE.cpp

#include </home/ubuntu/data/yocto_master/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.395/git/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspaceResourceAssociation.cpp>
#include </home/ubuntu/data/yocto_master/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.395/git/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspaceState.cpp>
#include </home/ubuntu/data/yocto_master/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.395/git/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspaceType.cpp>
#include </home/ubuntu/data/yocto_master/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.395/git/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspacesIpGroup.cpp>
#include </home/ubuntu/data/yocto_master/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.395/git/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspacesPool.cpp>
#include </home/ubuntu/data/yocto_master/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.395/git/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspacesPoolError.cpp>
#include </home/ubuntu/data/yocto_master/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.395/git/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspacesPoolErrorCode.cpp>
#include </home/ubuntu/data/yocto_master/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/aws-sdk-cpp/1.11.395/git/generated/src/aws-cpp-sdk-workspaces/source/model/WorkspacesPoolSession.cpp>

thomas-roos avatar Sep 02 '24 13:09 thomas-roos