我在El Capitan 10.11.1上编译http 2.4.16时遇到了OpenSSL错误。
它正在寻找OpenSSL版本〉=0.9.8a:
checking for OpenSSL... checking for user-provided OpenSSL base directory... none
checking for OpenSSL version >= 0.9.8a... FAILED
configure: WARNING: OpenSSL version is too old
默认的OpenSSL版本为0.9.8zg:
$ openssl version
OpenSSL 0.9.8zg 14 July 2015
最后,这里是我的编译行的一部分:
./configure --prefix=/usr/local/MyWebserver/httpd-2.4.12 \
--enable-ssl \
--with-few-things… \
--disable-lots-of-things…
我不想安装另一个openssl,即使有brew
。
6条答案
按热度按时间o75abkj41#
对我来说,这个问题是通过安装'openssl-develop'.
fhity93d2#
以上解决方案都不适合我。
我通过告诉“configure”使用哪个open-ssl来解决这个问题:
在执行./configure时,请添加以下内容:
/usr/本地/Hive/开放源码/1.0.2r
而1.0.2r是openssl的当前版本,通常由brew安装。
我更喜欢这样做的方法,而不是搞乱系统文件(即不喜欢链接任何东西/usr/...目录,因为它搞乱了系统,特别是苹果将始终做一个更新,以防止你这样做),因此,下面的命令的工作:
./configure --enable-ssl --enable-so --prefix=/(无论您希望安装在何处)--with-included-apr --with-mpm=prefork --with-ssl=/usr/local/Cellar/openssl/1.0.2r
为了让我的安装工作,我还需要下载apr和apr-util,在安装之前解压缩并将它们放在srclib文件夹中。
我希望这能帮上忙。
0kjbasz63#
如果您安装了最新版本的OpenSSL(使用Homebrew),则不一定需要复制内容,创建一个符号链接就足以确保configure命令能够获取它:
更多详情:https://medium.com/@timmykko/using-openssl-library-with-macos-sierra-7807cfd47892
oalqel3c4#
我找到了一个办法:
1.将文件夹/usr/incude/openssl从约塞米蒂(MacOS 10.10)复制到我的电脑(El Capitan MacOS 10.11)上的/usr/local/include/openssl。
1.然后通过向编译环境变量gcc和g++添加一个标志来编译apache:-I/usr/本地/包含
下面是我使用的所有变量:
5q4ezhmt5#
实际上,您只需要提供头文件。下载Openssl源代码here,然后复制到/usr/local/include/,如下所示:
那么一切都会好的。
bprjcwpo6#
编辑:
openssl过时是因为没有安装正确的库。
通过以下方式安装libssl:
sudo apt-get install libssl-dev
导致
--enable-ssl
在没有额外配置的情况下运行