A shared library is not an archive (file.a) so it cannot contain symbol references that are found in object code (file.o) It contains PIC (position independent code) references - meaning the entry points in a .so (file.so or file.sl) can be linked at runtime into a block of code with any offset (address)
You are mixing apples and oranges. In order to do what you wanted, the module has to be compiled as PIC. See the man/info page for gcc.
PS your lat/long resolves to the middle of farmland You work from home I guess.