如何链接python3以在centos 7上使用openssl11/或最新版本的OpenSSL(1.1.1) [英] How to link python3 to use openssl11 / or latest version of openssl (1.1.1) on centos 7

查看:23
本文介绍了如何链接python3以在centos 7上使用openssl11/或最新版本的OpenSSL(1.1.1)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们想在Centos 7中升级OpenSSL,但没有实现,原因可能是这样的。 Upgrading CentOS 7 to OpenSSL 1.1.1 by yum install openssl11

我知道openssl11是用于现货的用法。我们可以将python/pyOpenssl与openssl11联系起来吗? 如果可能的话,请给我流程

推荐答案

我今天刚在CentOS7上构建Python3.10时遇到了这个问题,在试图弄清楚它的时候发现了这个线程。在我的例子中,我只是尝试构建所有的Python,包括它试图在默认情况下构建的SSL模块。下面的内容可能适合也可能不适合单独构建pyOpenSSL。

我发现配置脚本似乎被设计为使用OpenSSL文件,这些文件安装在/usr/lib64和/usr/Include中的正常位置,或者安装在一个单独的位置,您可以在命令行中使用--with-openssl参数指定该位置,在该位置下可以直接找到包含文件和库。RHEL/CentOS 7中的‘openssl11-devel’包没有满足这两个预期,而且就我所知,这不能在配置命令行中处理。

我发现解决这个问题的最简单方法是只需更改脚本在其pkg-config查询中使用的库名,这样它就可以从.pc文件中获得正确的详细信息,幸运的是,该文件位于/usr/lib64/pkgconfig下的标准位置,但名称不同。

我使用的方法恰好适用于CentOS 7上安装的Python3.10.0,但不可否认,它很脆弱,可能无法继续与其他版本一起工作。从源目录中:

sed -i 's/PKG_CONFIG openssl /PKG_CONFIG openssl11 /g' configure
完成上述操作后,我运行./configure。我在输出中看到:

正在检查针对OpenSSL的编译和链接是否起作用...是

...而不是我之前得到的拒绝。

可能是无关的--无论出于什么原因,我都无法使编译与CentOS 7上的启用优化一起工作。我收到"无法导入RUNPY模块"错误,因此我configure without it

这篇关于如何链接python3以在centos 7上使用openssl11/或最新版本的OpenSSL(1.1.1)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆