gpt4 book ai didi

openssl - undefined symbol : SSLv2_client_method

转载 作者:行者123 更新时间:2023-12-04 00:51:07 27 4
gpt4 key购买 nike

我正在尝试将 openssl-1.0.1e 更新到 1.0.1s。是源码编译。完成以下步骤后,

  1. cd openssl-1.0.1s

  2. ./config --shared

  3. 制作

  4. 安装

  5. apachectl 配置测试

    我收到一个错误消息“httpd:/usr/local/apache2/conf/httpd.conf 的第 55 行出现语法错误:无法将/usr/local/apache2/modules/mod_ssl.so 加载到服务器:/usr/local/apache2/modules/mod_ssl.so: undefined symbol: SSLv2_client_method"

我也试过./config --prefix=/usr enable-shared -no-ssl2,也是同样的错误。在我安装openssl-1.0.1s之前,我清理旧的。

有人知道解决办法吗?

最佳答案

... undefined symbol: SSLv2_client_method

看起来 SSLv2_client_method 和 friend 被意外地从库的 1.0.1 和 1.0.2 分支中删除了。参见 Issue #4398: BUG / 1.0.2g breaks CURL extension日期为 2016 年 3 月 8 日,在 OpenSSL 开发人员邮件列表中。

Dose anyone know any solutions?

已通过 Commit 133138569f37d149, Retain SSLv2 methods as functions that return NULL 修复.您应该能够通过以下方式手动修补 ssl/s2_meth.c:

-# if PEDANTIC
-static void *dummy = &dummy;
-# endif
+SSL_METHOD *SSLv2_method(void) { return NULL; }
+SSL_METHOD *SSLv2_client_method(void) { return NULL; }
+SSL_METHOD *SSLv2_server_method(void) { return NULL; }

相关,这个不太正确:

I also tried ./config --prefix=/usr enable-shared -no-ssl2

它是 no-ssl2,而不是 -no-ssl2。另见 Compilation and Installation | Configure Options在 OpenSSL wiki 上。

此外,--prefix=/usr 可能很危险,因为它通常会破坏使用系统库版本的系统实用程序。有时发行版会应用 OpenSSL 源代码中不存在的补丁(想到 Ubuntu)。

通常你想要的是--openssldir=/usr/local/...。看起来您自己构建了 Apache,因此您应该能够使用它。您可以获取最新的 OpenSSL,在 CFLAGS 中包含一个 RPATH,构建 OpenSSL,将其安装到 /usr/local,然后针对该版本的 OpenSSL 构建 Apache。有关在 CFLAGS 中添加 RPATH 的信息,请访问 Compilation and Installation。在 OpenSSL wiki 上。

关于openssl - undefined symbol : SSLv2_client_method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35880228/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com