编译python时libssl库找不到

碰见了编译python3.8.10时找不到libssl.so.47的问题,以下是解决方法

wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -zxvf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d

./config --prefix=/usr/local --openssldir=/usr/local/openssl
make && sudo make install
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

也可以尝试在python源码目录下

vi Modules/Setup

找到SSL相关配置,去掉以下注释
确保SSL的路径和/usr/local/下ssl的路径相同

#SSL=/usr/local/ssl
#_ssl _ssl.c
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl
# -L$(SSL)/lib -lssl -lcrypto

如果还是找不到,在执行python编译的make时,查看系统调用查找了那几个路径,软链接一个就可以

strace -f make 2>&1 |grep libssl
作者:odjvnrij  创建时间:2024-09-21 15:58
最后编辑:odjvnrij  更新时间:2024-10-25 16:27