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.
PK
fonte

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.

gravidade
fonte
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)
Albert E
fonte
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

grigoris
fonte
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.

anon_ssl_angel
fonte
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

bedjaoui djounaydi
fonte
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
PYK
fonte