title: What's -fPIC compile option?
body: <p>Today, When trying to build my so lib project with mongodb c++ client, I got the error:</p>
  
  <pre><code>/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../libmongoclient.a(connection_factory.o): relocation R_X86_64_32S against `_ZTVN5mongo17AScopedConnectionE' can not be used when making a shared object; recompile with -fPIC
  /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../libmongoclient.a: error adding symbols: Bad value
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  </code></pre>
  
  <p>I googled -fPIC, but got nothing. Where can I find the doc about this? What's this? I am using clang++ for building.</p>