Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>This isn't exactly a programming question. Still...</p> <h2>Quick answer</h2> <p>The installer checks for OpenSSL support in two ways. The first check failed for you, the second succeeded. For me, the first check succeeded (see below). Either way works.</p> <h2>Longer answer</h2> <p>Here's what I got when I built it:</p> <pre><code>$ 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 &lt;---snip---&gt; </code></pre> <p>Presuming you downloaded <a href="http://nodejs.org/dist/node-v0.2.3.tar.gz" rel="noreferrer">node.js v0.2.3</a> from <a href="http://nodejs.org/" rel="noreferrer">http://nodejs.org/</a>, the configuration is mostly done by <a href="http://code.google.com/p/waf/" rel="noreferrer">waf</a> in the file wscript.</p> <p>The relevant lines are:</p> <pre><code> 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') </code></pre> <p>The first part is simple enough. It runs pkgconfig. Here is what happens when I do the equivalent by hand:</p> <pre><code> $ pkg-config openssl --cflags --libs -lssl -lcrypto </code></pre> <p>The second set of checks is run if pkg-config fails to confirm the package is installed. In that case, it tries to compile a trivial gcc program which checks for the existence of functions in libcrypt and libssl. If those both succeed, installation continues. If one of them fails, there's a fatal error, and the script bombs out.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload