title: Why can't I compile OpenSSL with multiple threads? (make -j3)
body: <p>I'm trying to build OpenSSL. If I build it with <code>make</code> (1 thread), it compiles okay. But if I build it with 3 threads (<code>make -j3</code>), I get LOTS of linker errors:</p>
  
  <pre><code>bntest.o: In function `message':
  bntest.c:(.text+0x30): undefined reference to `BIO_puts'
  bntest.c:(.text+0x3b): undefined reference to `BIO_puts'
  bntest.o: In function `test_add':
  bntest.c:(.text+0xe2): undefined reference to `BN_init'
  bntest.c:(.text+0xec): undefined reference to `BN_init'
  bntest.c:(.text+0xf6): undefined reference to `BN_init'
  bntest.c:(.text+0x107): undefined reference to `BN_bntest_rand'
  bntest.c:(.text+0x119): undefined reference to `BN_print'
  bntest.c:(.text+0x126): undefined reference to `BIO_puts'
  bntest.c:(.text+0x156): undefined reference to `BN_add'
  bntest.c:(.text+0x166): undefined reference to `BN_add'
  bntest.c:(.text+0x191): undefined reference to `BN_bntest_rand'
  bntest.c:(.text+0x1d3): undefined reference to `BN_add'
  bntest.c:(.text+0x1f5): undefined reference to `BN_print'
  bntest.c:(.text+0x202): undefined reference to `BIO_puts'
  bntest.c:(.text+0x20f): undefined reference to `BN_print'
  bntest.c:(.text+0x21c): undefined reference to `BIO_puts'
  bntest.c:(.text+0x264): undefined reference to `BN_free'
  bntest.c:(.text+0x26e): undefined reference to `BN_free'
  bntest.c:(.text+0x278): undefined reference to `BN_free'
  bntest.o: In function `test_sub':
  bntest.c:(.text+0x2af): undefined reference to `BN_init'
  bntest.c:(.text+0x2b9): undefined reference to `BN_init'
  bntest.c:(.text+0x2c3): undefined reference to `BN_init'
  bntest.c:(.text+0x2e0): undefined reference to `BN_bntest_rand'
  bntest.c:(.text+0x322): undefined reference to `BN_sub'
  ...and so on, for hundreds of lines...
  </code></pre>
  
  <p>To be clear, the exact sequence of commands I ran is:</p>
  
  <pre><code>$ wget https://www.openssl.org/source/openssl-1.0.1l.tar.gz
  $ tar -xzf openssl-1.0.1l.tar.gz
  $ cd openssl-1.0.1l
  $ ./config
  $ make -j3
  </code></pre>
  
  <p>I'm on Ubuntu 14.10 on an x64 machine.</p>
  
  <p>This might be an RTFM-type question, but I haven't been able to see anywhere that says building OpenSSL with multiple threads is not supported.</p>
  
  <p>So the question: <strong>Is building OpenSSL with multiple threads supported? If so, what am I doing wrong?</strong></p>