awslabs / awslabs/aws-lambda-cpp
Cross-compiling from Ubuntu for aarch64
- Dominant language
- C++
- Stars
- 465
- Forks
- 98
- Avg merge
- 12h 47m
- Merged PRs (30d)
- 3
Description
In the table of supported platforms it looks like the only way to target arm64 architecture for lambda is to compile on Amazon Linux 2.
Would it be possible to support cross-compiling from other OS's? Specifically Ubuntu 22.04?
My lambda function seems to build fine but its an error in the packaging stage:
```
cd .../build/lambda/src/aws && ../../vcpkg_installed/arm64-linux-release/share/aws-lambda-runtime/packager .../build/lambda/src/aws/test_lambda
not a dynamic executable
make[3]: *** [src/aws/CMakeFiles/aws-lambda-package-test_lambda.dir/build.make:73: src/aws/CMakeFiles/aws-lambda-package-test_lambda] Error 1
make[3]: Leaving directory '.../build/lambda'
make[2]: *** [CMakeFiles/Makefile2:3032: src/aws/CMakeFiles/aws-lambda-package-test_lambda.dir/all] Error 2
make[2]: Leaving directory '.../build/lambda'
make[1]: *** [CMakeFiles/Makefile2:3039: src/aws/CMakeFiles/aws-lambda-package-test_lambda.dir/rule] Error 2
make[1]: Leaving directory '..../build/lambda'
make: *** [Makefile:213: src/aws/CMakeFiles/aws-lambda-package-test_lambda.dir/rule] Error 2
```
Contributor guide
Research direction
Start with the supported-platforms table and the aws-lambda-runtime/packager invocation shown in the report, then reproduce the CMake packaging target on Ubuntu 22.04 for arm64. Done means the test_lambda target packages successfully from Ubuntu without the “not a dynamic executable” failure and the supported-platform documentation reflects the result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, cmake, cpp
- Domain
- build-system, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100