I was actually just reading chapter 2.3 (sections 2.3.1 and 2.3.2) of "Advanced Linux Programming" (check downloads at http://www.advancedlinuxprogramming.com/
) and I think it might be helpful for you.
The way I've interpreted your problem and the book (I'm not perfectly clear on your problem):
I don't think you can link a shared library statically. What happens is that sometimes there will be two versions of a library, one static and one shared/dynamic, named libname.a (a for archive) and libname.so (so for shared object). When you compile a program, the linker chooses the shared library (with the so extension) by default, and goes with the static version only if you specify -static on the command line when you compile/link. So I guess you'd need to make a static library as well in order for the -static option to work correctly.