编译nginx时openssl报错src/event/ngx_event_openssl.c:954
1、环境说明:
centos7.9 2009
Nginx 1.10.1
openssl 1.1.1q
2、Nginx编译命令执行过程报错:

执行后报错如下

src/event/ngx_event_openssl.c: In function ‘ngx_ssl_dhparam’:
src/event/ngx_event_openssl.c:954:11: error: dereferencing pointer to incomplete type ‘DH’ {aka ‘struct dh_st’}
dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
^~
src/event/ngx_event_openssl.c: In function ‘ngx_ssl_connection_error’:
src/event/ngx_event_openssl.c:1941:21: error: ‘SSL_R_NO_CIPHERS_PASSED’ undeclared (first use in this function); did you mean ‘SSL_R_NO_CIPHERS_SPECIFIED’?
|| n == SSL_R_NO_CIPHERS_PASSED /* 182 */
^~~~~~~~~~~~~~~~~~~~~~~
SSL_R_NO_CIPHERS_SPECIFIED
src/event/ngx_event_openssl.c:1941:21: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [objs/Makefile:816: objs/src/event/ngx_event_openssl.o] Error 1
make[1]: Leaving directory '/root/nginx-1.10.1'
make: *** [Makefile:8: build] Error 2
3、原因
相关经验表明:openssl 1.1.x 版本,导致与nginx API不一致所致,更换openssl为1.0.2k为默认版本;或者也可以使用1.1.0版本
wget http://www.openssl.org/source/openssl-1.1.0e.tar.gz
4、使用系统默认文件作为编译自查找,去除with-openssl=……选项,修改命令如下

如果编译报错,尝试执行:yum -y install openssl openssl-devel make zlib zlib-devel gcc gcc-c++ libtool pcre pcre-devel,完成后再次执行上述命令

效果如下:
相关推荐
windows编译64位nginx
1.首先安装Mercurial并在环境变量中添加C:\Program Files\Mercurial\目录,因为我们需要在命令行中使用hg命令来获取nginx的源码。 hg clone http://hg.nginx.org/nginx 2.解压pcre-8.37,zlib-1.2.8,openssl-1.0.1s nginx ----objs -------lib ----------pcre-...
Springboot大学生校园创业系统(代码+数据库+LW)
摘 要 目前高校创业服务存在“信息分散、资源难寻、管理低效”三大痛点,大学生难以在同一平台完成课程学习、项目孵化与融资对接。针对上述问题,本文提出并实现了“基于SpringBoot的大学生校园创业系统”:前端以Vue构建,实现课程和项目可视化、收藏、论坛等轻量级交互,解决学生“找课难、找项目难”的资源获取问题;后端基于SpringBoot+MySQL,进行统一封装用户、课程、项目、融资、评论五类业务,配合事务与索引优化,解决大学生创业过程中 “信息分散、资源难寻、管理低效” 等痛点,为高校创新创业教育和项目孵化提供实践支撑,推动校园创业生态的规范化与可持续发展。 关键词:大学生创业;SpringBoot;项目孵化;融资对接
基于粒子群算法的永磁同步电机多参数辨识研究(Simulink仿真实现)
内容概要:本文围绕基于粒子群算法(PSO)的永磁同步电机(PMSM)多参数辨识展开研究,旨在通过Simulink仿真平台实现对电机关键电气与机械参数的精确辨识。研究首先建立永磁同步电机的数学模型,结合实际运行中的电压、电流、转速等可观测信号,构建适用于粒子群优化算法的目标函数,利用PSO算法强大的全局搜索能力,对电机的定子电阻、电感、反电动势常数、转动惯量、摩擦系数等多参数进行联合辨识。通过Simulink搭建完整的系统仿真模型,模拟电机在不同工况下的运行状态,采集仿真数据用于参数辨识,最终将辨识出的参数代回模型进行验证,以评估辨识精度与算法的有效性。该方法为永磁同步电机的高性能控制提供了精确的参数基础,避免了传统手工测量或经验估算带来的误差。 适合人群:具备一定电机控制理论基础、熟悉MATLAB/Simulink环境的电气工程、自动化及相关专业的研究生、科研人员及工程技术人员。 使用场景及目标:① 实现永磁同步电机关键参数的非侵入式、高精度辨识;② 掌握智能优化算法(特别是粒子群算法)在电机系统辨识中的具体应用方法;③ 学习如何构建基于仿真的电机参数辨识实验平台,为后续的控制器设计(如FOC矢量控制)提供可靠参数支持。 阅读建议:在学习过程中,应重点关注Simulink模型的搭建逻辑、目标函数的设计原理以及PSO算法的参数设置对辨识结果的影响。建议读者动手复现文中仿真模型,通过调整算法参数和运行条件,深入理解辨识过程的收敛性和鲁棒性。
vue+springboot基于 Java Web 的流浪动物收养系统设计与开发_a93n86d6毕业设计源码数据库.zip
vue+springboot基于 Java Web 的流浪动物收养系统设计与开发_a93n86d6毕业设计源码数据库.zip
基于轻量级ECDH的物联网设备认证协议(MATLAB顶点)+ SecureShare,一款交互式AES-256加密消息工具。.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。


