export PYTHON_CONFIGURE_OPTS="--with-openssl=/usr/local/openssl-1.1.1"这一步在哪里设置?
你可以将该命令添加到你的shell配置文件中(例如/.bashrc或/.zshrc),这样每次打开终端时都会自动设置该环境变量。
打开你的shell配置文件,例如:
vi ~/.bashrc
在文件末尾添加以下行:
export PYTHON_CONFIGURE_OPTS="--with-openssl=/usr/local/openssl-1.1.1"
其中
/usr/local/openssl-1.1.1
是你安装OpenSSL库的路径。保存并退出文件,然后执行以下命令使配置文件生效:
source ~/.bashrc
如果你使用的是其他shell(例如zsh),请相应地修改文件名和命令。
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
如何正确设置 ./configure
参数以启用 OpenSSL 支持
当遇到 Nginx 配置过程中关于 OpenSSL 的错误提示时,可以通过调整 ./configure
参数来解决问题。以下是具体的方法:
在配置阶段,可以使用 --with-openssl=<path>
来指定 OpenSSL 源码的位置,并确保其被正确集成到 Nginx 中。如果希望指定已有的 OpenSSL 安装目录 /usr/local/openssl
,则需要按照以下方式操作。
正确的 ./configure
参数设置
假设 OpenSSL 已经安装在 /usr/local/openssl
路径下,则可以在运行 ./configure
时加入以下参数:
./configure \
--prefix=/usr/local/nginx-1.24.0 \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-openssl=/usr/local/openssl
上述命令中的每一项都有特定作用:
--prefix
: 设置 Nginx 的安装路径。--with-http_ssl_module
: 启用 HTTP SSL/TLS 模块支持[^1]。--with-http_stub_status_module
: 启用状态监控模块。--with-openssl
: 明确指定了 OpenSSL 的源码或安装路径[^2]。
需要注意的是,如果 OpenSSL 是通过源码编译并手动安装的方式完成的,那么可能还需要额外确认环境变量是否正确设置了头文件和库文件路径。例如,在某些情况下,可能需要显式声明链接器选项:
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
export CPPFLAGS="-I/usr/local/openssl/include"
export LDFLAGS="-L/usr/local/openssl/lib"
这些环境变量的作用分别是:
LD_LIBRARY_PATH
: 让动态链接器能够找到自定义安装的 OpenSSL 库文件。CPPFLAGS
: 添加头文件搜索路径给 C 编译器。LDFLAGS
: 提供静态或动态库的链接路径给链接器。
最后一步是在完成配置之后执行构建过程:
make && make install
这会依据之前设定好的参数生成最终可执行程序。
可能的原因分析
有时即使系统中存在 OpenSSL,仍然会出现类似的错误消息。这种情况通常是因为缺少必要的开发组件或者依赖关系未满足所致。比如采用 RPM 包管理工具离线部署 OpenSSL 期间误用了 --nodeps --force
参数组合,强行跳过了对其它关联软件的要求检测,进而造成部分功能缺失无法正常使用[^3]。
因此建议优先考虑从官方站点获取最新版本的开源项目资源包自行组装;同时也要注意核查所有必需品均已妥善安置到位后再继续后续步骤以免徒增困扰[^4]。
QT5.12.12 ERROR: Feature 'openssl-linked' was enabled, but the pre-condition '!features.securetransport && libs.openssl' failed. 已经设置 OPENSSL_PREFIX=/home/dev/work/qt-sources/build/openssl-1.1.1s \ OPENSSL_LIBS='-lcrypto -lssl' \ OPENSSL_INCDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/include \ OPENSSL_LIBDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/lib \
根据你提供的信息,你已经设置了 OpenSSL 的路径和库信息,但是仍然遇到了相同的错误。这可能是因为 QT 配置过程中没有正确识别 OpenSSL 的库和头文件路径,或者 OpenSSL 版本不兼容。
你可以尝试在 configure 命令中明确指定 OpenSSL 的库和头文件路径,方法是使用 -openssl-linked 选项,并在其后加上正确的路径信息。例如:
./configure -openssl-linked OPENSSL_PREFIX=/home/dev/work/qt-sources/build/openssl-1.1.1s OPENSSL_LIBS='-lcrypto -lssl' OPENSSL_INCDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/include OPENSSL_LIBDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/lib
如果仍然无法解决问题,可以尝试更新 OpenSSL 到最新版本,并重新编译 QT。如果你已经使用最新版本的 OpenSSL,可能需要查看 QT 的版本是否与 OpenSSL 兼容。QT5.12.12 可以使用 OpenSSL 1.1.1 系列的版本,建议使用这个版本进行编译。
相关推荐

















