title: Statically linking libraries in linux
body: <p>I have an application which links to a number of libraries, most of them are available as both static as well as dynamic library on my machine. Below is the output of the <code>ldd</code> command.</p>
  
  <pre><code>linux-gate.so.1 =&gt;  (0xffffe000)
  libssl.so.0.9.8 =&gt; /usr/lib/libssl.so.0.9.8 (0xb782c000)
  libc.so.6 =&gt; /lib/libc.so.6 (0xb76cc000)
  libcrypto.so.0.9.8 =&gt; /usr/lib/libcrypto.so.0.9.8 (0xb755a000)
  /lib/ld-linux.so.2 (0xb788d000)
  libdl.so.2 =&gt; /lib/libdl.so.2 (0xb7555000)
  libz.so.1 =&gt; /lib/libz.so.1 (0xb7540000)
  </code></pre>
  
  <p>I want to statically link libssl library but as per the gcc documentation, by default it links every library dynamically. What is the method to tell gcc to link a specific library statically even its dynamic version is also available on the system? </p>