./configure期间缺少OpenSSL。怎么修?


79

我尝试安装node.js,发现期间缺少OpenSSL支持./configure

我该如何解决?这是强制性步骤吗?该--without-ssl选项可以解决问题吗?

# ./configure

Checking for gcc                         : ok
Checking for library dl                  : not found
Checking for openssl                     : not found
Checking for function SSL_library_init   : not found
Checking for header openssl/crypto.h     : not found
/home/ec2-user/node-v0.6.6/wscript:374: error: Could not autodetect OpenSSL 
                                               support.

Make sure OpenSSL development packages are installed. Use configure --without-ssl 
to disable this message.

Answers:


143

是的,这是必须执行的步骤。您无法从使用它的程序中删除OpenSSL,就像无法从汽车中删除随机引擎零件一样。

通常已经安装了OpenSSL库,但是您必须安装头文件。根据您的Linux发行版,您需要以下软件包:

  • Red Hat,Fedora,CentOS- openssl-devel
  • Debian,Ubuntu- libssl-dev
  • 拱- openssl

从技术上讲,可以 NSS 代替 OpenSSL,但这不是重点。


1
非常感谢,我通过yum install openssl-devel安装了标头
PK

啊,现在有意义。wget也需要使用ssl进行./configure。
dhaupin '16

3
在尝试使用openssl配置鱿鱼(3.5.26)时使用grawitys答案之后,我偶然发现了一些奇怪的副作用:除非安装了“ pkg-config”,否则库“ openssl”和“ libssl-dev”被视为如果丢失了。因此,我也必须安装pkg-config。在配置脚本中(在23362行附近)使用它来查找此软件包的路径和存在性。在debian上通过以下方式安装:>apt-get install pkg-config
Mihovil Bubnjar

8

debian:

apt-get install libssl-dev

apt-get install linux-headers-$(uname -r)

5
这如何以及为什么有助于解决问题?
凯文·潘科

1
@KevinPankolibssl-dev

@KevinPanko我可以确认的作品。阿尔伯特的答案是正确的。
杰夫·阿特伍德

1
@JeffAtwood我毫不怀疑,但是当答案解释了为什么需要命令时,它会有所帮助。
凯文·潘科

这对我来说并没有解决,还进行了配置--without-ssl使我知道它是必需的软件包
Fabiotk

4

不,不是。

您仍然可以使用以下命令编译nodejs ./configure --without-ssl


2

这是由于某些安装可能会出现的问题而出现在Google上的-可能是links-g。我在Archlinux上使用links-utf8和links-g-directfb遇到问题。

可能的介绍:

checking OPENSSL_CFLAGS... 
checking OPENSSL_LIBS... -lssl -lcrypto 
checking for OpenSSL... no
configure: error: OpenSSL not found

尝试这个:

sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" configure

在您的./configure步骤之前使用此命令应对其进行修复。


2
为什么那个补丁可以解决问题?
user237419

2

您必须使用以下命令openssl-devel在操作系统中安装:

yum install openssl-devel.x86_64

./configure --with-tls

make install


0

如果您仅使用libssl-dev失败,则可以通过Debian发行版同时包含两个SSL库版本

apt-get install libssl-dev libssl1.0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.