pip install cryptography
The next error is:
build/temp.linux-x86_64-3.5/_openssl.c:434:30: fatal error: openssl/opensslv.h: No such file or directory
#include <openssl/opensslv.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
Once again run the yum list command to find the correct library. In this case the name is not quite so apparent. I found a number of libraries using this command:
sudo yum list | grep openssl
Such as the following:
openssl.x86_64 1:1.0.1k-15.99.amzn1 installed
apr-util-openssl.x86_64 1.4.1-4.17.amzn1 amzn-main
krb5-pkinit-openssl.x86_64 1.14.1-27.41.amzn1 amzn-main
openssl.i686 1:1.0.1k-15.99.amzn1 amzn-main
openssl-devel.x86_64 1:1.0.1k-15.99.amzn1 amzn-main
openssl-perl.x86_64 1:1.0.1k-15.99.amzn1 amzn-main
openssl-static.x86_64 1:1.0.1k-15.99.amzn1 amzn-main
openssl097a.i686 0.9.7a-12.1.9.amzn1 amzn-main
openssl097a.x86_64 0.9.7a-12.1.9.amzn1 amzn-main
openssl098e.i686 0.9.8e-29.19.amzn1 amzn-main
openssl098e.x86_64 0.9.8e-29.19.amzn1 amzn-main
xmlsec1-openssl.i686 1.2.20-5.3.amzn1 amzn-main
xmlsec1-openssl.x86_64 1.2.20-5.3.amzn1 amzn-main
xmlsec1-openssl-devel.x86_64 1.2.20-5.3.amzn1 amzn-main
Looks like we want this one based on a little research: openssl-devel.x86_64
sudo yum install openssl-devel.x86_64
Yep, that seems to do the trick. See my next post for complete list of commands to install the python SSH library paramiko which requires the cryptography library on an AWS EC2 instance in a virtual environment.
---
Trying to set up a Python virtual environment that has the correct libraries and/or works on AWS Lambda? Check out these blog posts which are specific to Paramiko and Cryptography but explain how to determine which libraries to use and package up a virtual environment that has the correct underlying libraries:
http://websitenotebook.blogspot.com/2017/05/installing-paramiko-and-crytography-in.html
http://websitenotebook.blogspot.com/2017/05/creating-paramiko-and-cryptography.html