I have encountered something that I do not understand.  Everything works fine.  
Basically I have a bunch of user modules (low level) that are built into a 
dynamic library.  If I write top level code that calls modules in that library, 
everything works just fine on i386 and AMD64.  However, the application 
involved has another library of modules.  Some of them call modules in the low 
level library.  The top level code call modules in both libraries.  Often when 
it calls a module in the mid level library, that module calls several modules 
in the low level library.

All this works just fine on i386.  However, when I compile everything on AMD64 
I get an error message that says the lower level library needs to be compiled 
with fPIC.  If I add that to the Makefile for the lower level library and 
rebuild everything, it all works again.  I don't understand why the fPIC is 
required for AMD64.

Also, how do I tell if the lower level library is being dynamically linked at 
run time, or being directly incorporated into the mid level library or top 
level application?  Since both of these libraries are quite large, and they are 
in use by a number of top level applications, I want just one copy to exist in 
physical memory._______________________________________________
freebsd-questions@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to