00. 目录

在这里插入图片描述

01. 问题描述

编译mosquitto时,出现找不到opensslconf.h文件,显示fatal error: openssl/opensslconf.h: 没有那个文件或目录。

deng@local:~/sz01/mosquitto-2.0.15$ make 
set -e; for d in lib apps client plugins src; do make -C ${d}; done
make[1]: 进入目录“/home/deng/sz01/mosquitto-2.0.15/lib”
cc  -I. -I.. -I../include -I../../include -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING -DWITH_SOCKS -DWITH_UNIX_SOCKETS -I../deps -Wall -ggdb -O2 -Wconversion -Wextra -fPIC -c mosquitto.c -o mosquitto.o
In file included from mosquitto.c:19:
../config.h:61:12: fatal error: openssl/opensslconf.h: 没有那个文件或目录
   61 | #  include <openssl/opensslconf.h>
      |            ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:102:mosquitto.o] 错误 1
make[1]: 离开目录“/home/deng/sz01/mosquitto-2.0.15/lib”
make: *** [Makefile:66:mosquitto] 错误 2

02. 问题分析

缺少 OpenSSL 的头文件,需要安装 OpenSSL 的开发包

03. 问题解决

3.1 更新软件源

deng@local:~/sz01/mosquitto-2.0.15$ sudo apt update

3.2 安装openssl

deng@local:~/sz01/mosquitto-2.0.15$ sudo apt install libssl-dev

04. 问题验证

查看opensslconf.h是否存在


deng@local:~/sz01/mosquitto-2.0.15$ sudo updatedb
deng@local:~/sz01/mosquitto-2.0.15$ locate opensslconf.h
/home/deng/sz01/openssl-1.1.1d/include/openssl/opensslconf.h
/home/deng/sz01/openssl-1.1.1d/include/openssl/opensslconf.h.in
/usr/include/x86_64-linux-gnu/openssl/opensslconf.h
/usr/local/arm/4.5.1/arm-none-linux-gnueabi/sys-root/usr/include/openssl/opensslconf.h
deng@local:~/sz01/mosquitto-2.0.15$ 

05. 附录

更多推荐