title: Convert a Static Library to a Shared Library (create libsome.so from libsome.a): where's my symbols?
body: <p>the title of this question is an <a href="https://stackoverflow.com/questions/655163/convert-a-static-library-to-a-shared-library">exact dupe</a>, but the answers in that question don't help me.</p>
  
  <p>I have a bunch of object files packed in a static library:</p>
  
  <pre><code>% g++ -std=c++98 -fpic -g -O1 -c -o foo.o foo.cpp
  % g++ -std=c++98 -fpic -g -O1 -c -o bar.o bar.cpp
  % ar -rc libsome.a foo.o bar.o
  </code></pre>
  
  <p>I'd like to generate libsome.so from libsome.a instead of the object files, but the library is <em>really</em> barebones:</p>
  
  <pre><code>% g++ -std=c++98 -fpic -g -O1 -shared -o libsome.so libsome.a
  % nm -DC libsome.so
  0000xxxx A _DYNAMIC
  0000xxxx A _GLOBAL_OFFSET_TABLE_
           w _Jv_RegisterClasses
  0000xxxx A __bss_start
           w __cxa_finalize
  0000xxxx A _edata
  0000xxxx A _end
  0000xxxx T _fini
  0000xxxx T _init
  </code></pre>
  
  <p>the static library is ok, or at least I'm perfectly able to link it to an executable and have it run the contained functionality.  also, everything is fine if I create libsome.so from foo.o and bar.o.</p>