I am trying to build local development environment for AWS Lambda deployments that includes Aerospike client. I made a new install of Ubuntu 18.04.3 at VirtualBox, upgraded.
Following AWS instructions, I got SAM CLI properly working with docker at that machine.
I installed PyCharm 2019.3.1 via Ubuntu Applications and selected AWS toolkit, while specifying an IAM user to access AWS. I selected the pre-installed Python 3.6 for the “Lambda Hello World” project. I can successfully run “Hello World” app and I am getting the correct JSON response in PyCharm console:
{“statusCode”:200,“body”:“{"message": "hello world"}”}
So far it all good.
Now I installed aerospike python client:
sudo apt install python3-pip
sudo apt install libssl-dev zlib1g-dev curl
pip3 install aerospike==3.6.0
and added
import aerospike
to hello_world/app.py
and
aerospike==3.6.0
line to hello_world/requirements.txt
these are the only changes I made.
After that I got an error when running the same sample “Hello World” app:
Unable to import module ‘app’: libssl.so.1.1: cannot open shared object file: No such file or directory
I tried copying libssl.so.1.1 to the “project home” folder at hello_world/
cp /usr/lib/x86_64-linux-gnu/libssl.so.1.1 [...]/hello_world/
but then I got another error from SAM:
Unable to import module ‘app’: libcrypto.so.1.1: cannot open shared object file: No such file or directory
Adding also libcrypto.so.1.1 to […]/hello_world/ ends up with
Unable to import module ‘app’: /lib64/libc.so.6: version `GLIBC_2.25’ not found (required by /var/task/libcrypto.so.1.1)
What I am doing wrong and how to get Aerospike Python client work for AWS Lambda / SAM CLI docker environment on Ubuntu 18.04?