title: relocation R_X86_64_PC32 against symbol _ZTISt13runtime_error@@GLIBCXX_3.4 can not be used when making a shared object; recompile with -fPIC
body: <p>The project I am attempting compile is not in any way complex, and references nothing but the standard library and one self-contained library (everything compiles fine on another system). As indicated by the title, it can't even link against something in the standard library, due to things in there not having been compiled with <code>-fPIC</code>, supposedly. I didn't build it myself, nor do I want to, and reinstalling things with <code>apt</code> didn't seem to resolve the "recompile with -fPIC" issue.</p>
  
  <p>I will say that I think one possible source of the issue is due to <code>gcc-multilib</code> or something being installed earlier, but I think that was purged. I don't know, maybe something was overwritten or a conflict arose. Might not even be related. Any ideas?</p>
  
  <p>Running Ubuntu 18.04</p>
  
  <pre><code>g++ -I inc -I /usr/include/mono-2.0 -MMD -MF dep/Nonsense.d -std=c++17 -O3 -fno-stack-protector -fno-unroll-loops -fomit-frame-pointer -Wno-ignored-optimization-argument -c -o obj/Nonsense.o src/Nonsense.cpp
  g++ -I inc -I /usr/include/mono-2.0 -MMD -MF dep/Socket.d -std=c++17 -O3 -fno-stack-protector -fno-unroll-loops -fomit-frame-pointer -Wno-ignored-optimization-argument -c -o obj/Socket.o src/Socket.cpp
  g++ -shared -flto -o libNonsense.so obj/Nonsense.o obj/Socket.o -Llib -lenet
  /usr/bin/x86_64-linux-gnu-ld: obj/Socket.o: relocation R_X86_64_PC32 against symbol `_ZTISt13runtime_error@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
  /usr/bin/x86_64-linux-gnu-ld: final link failed: Bad value
  collect2: error: ld returned 1 exit status
  makefile:22: recipe for target 'libNonsense.so' failed
  make: *** [libNonsense.so] Error 1
  </code></pre>