OpenSSL ausente durante ./configure. Como consertar?


79

Eu estava tentando instalar o node.js e encontrou o suporte ao OpenSSL ausente durante ./configure.

Como posso corrigir isso? É uma etapa obrigatória? A --without-sslopção resolveria o problema?

# ./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.

Respostas:


143

Sim, é uma etapa obrigatória. Você não pode remover o OpenSSL de um programa que o utiliza, da mesma maneira que não foi possível remover peças aleatórias do motor de um carro.

A biblioteca OpenSSL geralmente já está instalada, mas você precisa instalar os arquivos de cabeçalho. Dependendo da sua distribuição Linux, você precisará destes pacotes:

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

Tecnicamente, pode-se substituir o OpenSSL por, digamos, NSS, mas esse não é o ponto aqui.


11
muito obrigado, eu instalei o cabeçalho por yum install openssl-devel
PK

Ah faz sentido agora. Isso é necessário para o wget ./configure com ssl também.
dhaupin

3
Depois de usar a resposta do grawitys ao tentar configurar o squid (3.5.26) com o openssl, encontrei alguns efeitos colaterais estranhos: A menos que você tenha o "pkg-config" instalado, a biblioteca "openssl" e o "libssl-dev" são tratados como se estivesse faltando. Então eu tive que instalar o pkg-config também. É usado no script configure (em torno da linha 23362) para encontrar o caminho e a existência deste pacote. No debian, ele é instalado por:>apt-get install pkg-config
Mihovil Bubnjar

8

debian:

apt-get install libssl-dev

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

5
Como e por que isso ajuda a resolver o problema?
21414 Kevin Kevin Panko

11
@KevinPankolibssl-dev

@KevinPanko isso funciona, posso confirmar. A resposta de Albert está correta.
Jeff Atwood

11
@JeffAtwood Não duvidei, mas ajuda quando uma resposta explica por que um comando é necessário.
precisa

isso não resolvido para mim, também configurar --without-ssl me deu que é um pacote exigido
Fabiotk

4

Não é não.

Você ainda pode compilar nodejs com ./configure --without-ssl


2

Isso está aparecendo no Google para um problema que pode surgir com algumas instalações - possivelmente links-g. Eu tive o problema no Archlinux com links-utf8 e links-g-directfb.

Apresentação provável:

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

Tente o seguinte:

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

O uso deste comando antes da sua ./configureetapa deve corrigi-lo.


2
por que esse patch está corrigindo o problema?
user237419

2

Você deve instalar openssl-develno seu sistema operacional com:

yum install openssl-devel.x86_64

./configure --with-tls

make install


0

Se você não obtiver sucesso apenas com libssl-dev , na distribuição Debian , poderá incluir as duas versões da Biblioteca SSL ao mesmo tempo

apt-get install libssl-dev libssl1.0
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.