配置 stunnel 时找不到 ssl 库

配置 stunnel 时找不到 ssl 库

我正在使用 RHEL 5.6,并尝试使用来自 haproxy 的“xforwardfor”补丁安装 stunnel,以获得类似于此(旧)帖子的设置:http://www.buro9.com/blog/2009/12/07/installing-haproxy-load-balance-http-and-https/

当我运行 ./configure 时出现以下错误:

*snip*
configure: **************************************** SSL
checking for SSL directory... Not found

Couldn't find your SSL library installation dir
Use --with-ssl option to fix this problem

来自stunnel 文档我需要传递一个包含 ssl 库(假设为 libssl.so?)以及“certs”目录的目录。

我尝试创建一个带有“certs”目录和符号链接的 /etc/openssl 目录,/lib64/libssl.so.6但没有成功。

我还需要哪些其他库?

更新

来自 config.log:

它是由 stunnel configure 4.32 创建的,而后者是由 GNU Autoconf 2.61 生成的。调用命令行是

$ ./configure --with-ssl=/lib64

## --------- ##
## Platform. ##
## --------- ##

uname -m = x86_64
uname -r = 2.6.18-238.12.1.el5
uname -s = Linux
* snip *
configure:23977: **************************************** SSL
configure:23996: checking for SSL directory
configure:24019: result: Not found

并运行ls /lib64 | grep ssl

$ ls -l /lib64 | grep ssl
-rwxr-xr-x 1 root root  315032 Dec  7  2010 libssl.so.0.9.8e
lrwxrwxrwx 1 root root      16 Jul 13 18:48 libssl.so.6 -> libssl.so.0.9.8e

答案1

我猜你还没有openssl-devel安装。

configure以下是我在 RHEL5.6 服务器上得到的stunnel-4.42输出:

**************************************** SSL
checking for SSL directory... /usr/
checking for obsolete RSAref library... no
checking /usr//include/openssl/engine.h usability... yes
checking /usr//include/openssl/engine.h presence... yes
checking for /usr//include/openssl/engine.h... yes

check_ssl_dir中的函数configure正在寻找 的/usr/include/openssl/ssl.h一部分openssl-devel

不要传递任何选项来配置,执行任何目录创建,或建立任何符号链接。

答案2

证书位于/etc/openssl和 64 位软件库/lib64。您不应该混淆它们。假设您在 64 位平台上并且库存在于 /lib64 中,请尝试以下操作:

./configure --with-ssl=/lib64

...如果它不起作用,请发布“config.log”文件的相关部分以进一步帮助您。

答案3

在 Debian 上,您必须安装libssl-dev才能构建 stunnel。

相关内容