At least on Linux and Solaris, static libraries are really just a bunch of compiled .o\'s tossed into one big file. When compiling a static library, usually the -fpic flag i
As an alternative approach, ship two libraries: your shared one and the static you're linking against alongside. They should link into the final executable correctly.