He instalado libssl-dev y openssl pero me sale esto cuando puedo instalar node.js:

> ./configure && make && make install                                                                                          
Checking for program g++ or c++          : /usr/bin/g++                                                                                                               
Checking for program cpp                 : /usr/bin/cpp                                                                                                               
Checking for program ar                  : /usr/bin/ar                                                                                                                
Checking for program ranlib              : /usr/bin/ranlib                                                                                                            
Checking for g++                         : ok                                                                                                                         
Checking for program gcc or cc           : /usr/bin/gcc                                                                                                               
Checking for gcc                         : ok                                                                                                                         
Checking for library dl                  : yes                                                                                                                        
Checking for openssl                     : not found                                                                                                                  
Checking for function SSL_library_init   : yes                                                                                                                        
Checking for header openssl/crypto.h     : yes                                                                                                                        
Checking for library rt                  : yes                                                                                                                        
Checking for fdatasync(2) with c++       : yes 

Openssl no se encuentra. Pero el nodo se ha instalado con éxito.

¿Por qué no openssl encontrado? Alguien tiene el mismo problema?

  • Respuesta corta: instalar pkg-config. Acabo de pasar la mitad de un día de la instalación de nodo & mecanismo nacional de prevención en un servidor al que no tengo acceso root. Larga historia corta, construir openssl & pkg-config desde el código fuente en un directorio local en el PRIMER nodo y & npm construir bien.
InformationsquelleAutor ajsie | 2010-10-20

10 Comentarios

  1. 35

    Esto no es exactamente una programación de que se trate. Todavía…

    Respuesta rápida

    El instalador comprueba soporte para OpenSSL en dos maneras. El primer error de comprobación para usted, el segundo lo logró. Para mí, el primer éxito (ver más abajo). De cualquier manera funciona.

    Respuesta larga

    Aquí está lo que hice cuando me lo construyó:

    $ sudo apt-get install libssl-dev
    $ ./configure
    Checking for program g++ or c++          : /usr/bin/g++ 
    Checking for program cpp                 : /usr/bin/cpp 
    Checking for program ar                  : /usr/bin/ar 
    Checking for program ranlib              : /usr/bin/ranlib 
    Checking for g++                         : ok  
    Checking for program gcc or cc           : /usr/bin/gcc 
    Checking for gcc                         : ok  
    Checking for library dl                  : yes 
    Checking for openssl                     : yes 
    Checking for library rt                  : yes 
    <---snip--->

    Suponiendo que has descargado node.js v0.2.3 de http://nodejs.org/, la configuración se realiza principalmente por waf en el archivo wscript.

    Las líneas relevantes son:

      if not Options.options.without_ssl:
        if conf.check_cfg(package='openssl',
                          args='--cflags --libs',
                          uselib_store='OPENSSL'):
          Options.options.use_openssl = conf.env["USE_OPENSSL"] = True
          conf.env.append_value("CPPFLAGS", "-DHAVE_OPENSSL=1")
        else:
          libssl = conf.check_cc(lib='ssl',
                                 header_name='openssl/ssl.h',
                                 function_name='SSL_library_init',
                                 libpath=['/usr/lib', '/usr/local/lib', '/opt/local/lib', '/usr/sfw/lib'],
                                 uselib_store='OPENSSL')
          libcrypto = conf.check_cc(lib='crypto',
                                    header_name='openssl/crypto.h',
                                    uselib_store='OPENSSL')

    La primera parte es bastante simple. Se ejecuta pkgconfig. Aquí es lo que sucede cuando hago el equivalente a mano:

     $ pkg-config openssl --cflags --libs
     -lssl -lcrypto  

    El segundo conjunto de comprobaciones se ejecuta si pkg-config falla para confirmar que el paquete está instalado. En ese caso, intenta compilar un trivial gcc programa que comprueba la existencia de funciones en libcrypt y libssl. Si esos que tanto éxito, la instalación continúa. Si uno de ellos falla, hay un error fatal, y la secuencia de comandos de bombas.

    • Está bien, pero el problema es ¿por qué no nodo encontrar mi openssl. Lo he instalado por «aptitude install libssl-dev openssl».
    • Que aspecto de tu pregunta no es de programación relacionados, y si eso es lo que te preocupa, más que la comprensión de la programación detrás de él, usted debe preguntar en ServerFault. Como he indicado en mi respuesta, el problema es pkg-config no es cosa de openssl está ahí. Si ejecuta ‘pkg-config openssl || echo «No OpenSSL»‘ usted debe ver esto. Ver ‘el hombre de pkg-config’ sobre cómo construir una .archivo de pc a decir pkg-config instalado un paquete.
    • sudo apt-get install pkg-config
  2. 49

    @weng: yo tenía el mismo problema. La solución fue fácil: sudo apt-get install pkg-config 🙂

    • Así que, ¿cuál es el procedimiento? ejecutar sol apt-get install pkg-config primero?
    • Sí, que se fija para mí también. El wscript utiliza el archivo pkg-config para verificar openssl. comments.gmane.org/gmane.comp.lang.javascript.nodejs/11668
    • Fijo para mí. Yo también tuve que hacer un apt-get update en primer lugar. Compilado y nodo utilizado en abril de 2011, no hay problema, pero parece que algo recortada en el tiempo medio.
  3. 26

    Tuve el mismo problema con Debian 6. He tenido que instalar libcurl4-openssl-dev.

    Cambiar a usuario root, o el uso de sudo, a continuación, ejecute:

    apt-get install libcurl4-openssl-dev

    Esta solucionado el problema para mí.

    • Esto se ha solucionado el problema para mí cuando la instalación de nodo en una nueva máquina (Ubuntu 11.04) donde la solución anterior (sudo apt-get install pkg-config) no.
    • Esto se ha solucionado el problema en Ubuntu
    • Funciona para Ubuntu 10
    • Trabajó también para mí! Ubuntu server 11.04
    • Trabajó para mí en ubuntu 10.04 con nodejs 0.6.1
    • Si esto funciona para usted, usted no tiene el mismo problema que se pide en la pregunta original. El usuario había openssl instalado, pero no pkg-config (o pkg-config no saber sobre el paquete openssl). Si nos fijamos en sus mensajes de instalación,usted encontrará que usted consiguió Checking for function SSL_library_init : no .
    • Gracias por señalarlo Visible Compilador! Aquí fue mi proceso de pensamiento en este. Yo estaba viendo la misma salida de la pregunta anterior. He intentado instalar pkg-config pero no hubo suerte. He leído sobre su «tiempo de respuesta» y, finalmente, fue capaz de usarlo para ayudar a rastrear mi verdadero problema… no tengo el correcto openssl desarrollo de las bibliotecas instaladas. Espero que esto se de otros que han viajado por el mismo camino que yo.
    • Funciona para Ubuntu 11.10 y nodejs 0.6.11!
    • Funciona para Ubuntu 12.04 LTS (precise) y nodejs v0.6.19!

  4. 10

    Si utiliza Centos 5.x, asegúrese de instalar openssl-devel antes ./configurar.

    yum install openssl-devel

    Esta resuelto el mismo problema para mí en centos.

    • en fedora esta solucionado mi problema
    • Puedo confirmar esto funcionó para mí en Cent OS 6
  5. 3
    1. confirmar su openssl instalado.
    2. si está instalado, confirmar su ruta en ['/usr/lib', '/usr/local/lib', '/opt/local/lib', '/usr/sfw/lib'];
    3. si no en los caminos, probar las siguientes opciones con su correcta openssl camino
      ./configure --openssl-libpath=/usr/local/ssl/lib --openssl-includes=/usr/local/ssl/include
  6. 3

    Yo tenía el mismo problema.

    Traté de

    ./configure --prefix=/opt/node --openssl-libpath=/usr/local/lib/

    que resuelto, aunque creo --openssl-libpath=/usr/local/lib/ no es necesario

  7. 3

    Parece como que puedo hacer:

    apt-get install lib32z1-dev
    apt-get install pkg-config

    constantemente a eliminar todos los errores y advertencias acerca de openssl cuando estoy haciendo un fresco de Rackspace implementación con Ubuntu 11.04 o 11.10, en caso de que ayuda a cualquiera de los demás.

    Aquí un gist con un resumen de la secuencia de comandos que finalmente se establecieron en para la hilatura estos tipos de casos con node.js:

    https://gist.github.com/1606102

    Editar: actualización de la esencia para reflejar las actualizaciones realizadas a Nodo, etc.

    • ¿Cuáles son estas bibliotecas utilizadas en esta instancia?
    • Hey Señor A. lib32z1-dev es una biblioteca de compresión zlib (launchpad.net/ubuntu/lucid/+/paquete lib32z1-dev) y de pkg-config se utiliza para recuperar información acerca de las bibliotecas instalado en su sistema (linux.die.net/man/1/pkg-config)
    • en mi caso, sudo apt-get install pkg-config resuelto el openssl no encontrada
  8. 1

    sudo apt-get install g++ curl libssl-dev apache2-utils

    • Esto funcionó para mí en Ubuntu 11.04
    • Seguro que apache2-utils son necesarias?
  9. 1

    Para las personas con un nuevo Debian 6.0 (para ser más precisos: Debian 6.0.2.1 i386), las siguientes paquetes que deben ser instalados para ejecutar node.js v. 0.6.15 (última versión estable en el momento):
    – build-essentials
    – pkg-config
    – libssl-dev

    Utilizar aptitude -y install «paquete» … la esperanza de que la ayuda de todos los que Debian chicos. 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here