Resolving glibc errors with python module
We recently switched out our lambda build image to a debian based image and started receiving errors around glibc.
[ERROR] Runtime.ImportModuleError. Unable to import module 'app':
/lib64/lib.so.6: version 'GLIBC_2.28' not found
(required by /var/task/cryptography/hazmat/bidnings/_rust.abi3.so)
After some googling we realized pip chooses the correct wheel for us and since we were running pip on a different machine than we were running our Python program on, we needed to let pip know about this.
RHEL/CentOS are using manylinux2014 which is what we need to pass to pip
--platform manylinux2014_x86_64
Additionally we do not want to use source packages, so we had to pass
--only-binary=:all:
Our final command ended up being
python3 -m pip install --platform manylinux2014_x86_64 --only-binary=:all: -r requirements.txt