Ah, outstanding! By doing: $ ar -x libfoo.a $ ld -d y -G -o libfoo.so *.o -L/home/foo/lib -lblah1 -lblah2 $ gcc -shared -fPIC -I../aolserver/include -g -Wall -o myfoo.so myfoo.c /home/foo/lib/libfoo.so
I was able to take apart the vendor's .a file, put it back together as a libfoo.so, and then compile my own loadable module which successfully cales libfoo.so. I don't why this method works when the others did not, but, it works! I didn't have the GNU linker so I used the Solaris one, and I had to give it the -G option ("In dynamic mode only, produces a shared object. Undefined symbols are allowed.") or it would die because standard C library symbols like "atoi" where undefined. Rob, why did you want to use -nostartfiles ? On Fri, Oct 26, 2001 at 10:52:26AM -0500, Rob Mayoff wrote: > +---------- On Oct 26, Jim Wilcoxson said: > > ar -x blah.a > > Followed by > > ld -shared -nostartfiles -o blah.so *.o > > (If you're using GNU ld, anyway.) -- Andrew Piskorski <[EMAIL PROTECTED]> http://www.piskorski.com