操作系统:Centos7
我正在尝试构建依赖于openssl的无堆栈python。 我需要使用openssl 1.1.1d支持tls1.3 我在我的makefile文件中添加了tarball openssl-1.1.1d.tar.gz。
当我将其显示为错误下方时,
gcc -fno-strict-aliasing -DSTACKLESS_FRHACK=0 -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -I./Stackless -DPYMALLOC_DEBUG -DPYMALLOC_LIMIT_OBJECT_SIZE=268435456 -DSTACKLESS_LIMIT_STACK_SIZE=1310720 -DPy_BUILD_CORE -c ./Modules/itertoolsmodule.c -o Modules/itertoolsmodule.o
gcc -fno-strict-aliasing -DSTACKLESS_FRHACK=0 -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -I./Stackless -DPYMALLOC_DEBUG -DPYMALLOC_LIMIT_OBJECT_SIZE=268435456 -DSTACKLESS_LIMIT_STACK_SIZE=1310720 -DPy_BUILD_CORE -c ./Modules/_hashopenssl.c -o Modules/_hashopenssl.o
**./Modules/_hashopenssl.c:39:25: fatal error: openssl/evp.h: No such file or directory
#include <openssl/evp.h>**
^
compilation terminated.
make[1]: *** [Modules/_hashopenssl.o] Error 1
make[1]: Leaving directory `/builddir/project/build/tarball/stackless-2716-export'
make: *** [build/dp-stackless-python-2.7.16.tw1.bfeature-centos7_support_OpenSSL_1.1.1d_for_profiler_scanning_LOCAL.r20200407145948_UNCOMMITTED-6cc0cf0.bLOCAL.tar.bz2] Error 2
ERROR: Command failed. See logs for output.
在stackoverflow上的其他一些资料中,我发现它需要openssl-devel packag。 但是,Centos7不支持支持tls1.3的1.1.1d版本的openssl-devel。
任何人都可以指导我解决此问题吗?
答案 0 :(得分:0)
您是否考虑使用EPEL 7中可用的openssl11-libs
和openssl11-devel
RPM软件包,而不是自己构建OpenSSL(以涵盖将来的安全更新)?它提供与RHEL / CentOS 8相同的OpenSSL版本。
在构建依赖于较新的OpenSSL的软件之前,您需要扩展
稍微$CFLAGS
和$LDFLAGS
,例如像这样:
export CFLAGS="$CFLAGS $(pkg-config --cflags openssl11)"
export LDFLAGS="$LDFLAGS $(pkg-config --libs openssl11)"
或者,如果./configure
支持直接传递pkg-config *.pc
文件,请在此处使用openssl11
。