This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Linking on AIX


>>>>> John Ling writes:

John> Actually though I am hoping for shared libraries but I am uncertain if 
John> they are actually being installed.  During my build I do have a file 
John> named ./lib/.libs/libubic.so.0 that is created within my source directory.

John> However, I am trying to link to the libraries in the install directory 
John> outside this source directory.  In the install directory I have 
John> lib/libubic.a and lib/libubic.la.

John> Did the shared component not get installed properly?  i.e. should I 
John> expect the file libubic.so.0 to be installed along with libubic.a and 
John> libubuic.la?  How can I tell whether the symbols are exported from the 
John> library?

	Traditional AIX shared libraries are achives of shared objects.
If you look at the archive with "ar tv" or the AIX "dump -H" command, you
should see the shared object .so file as a member of the archive.

	The GCC C++ ABI name mangling prepends an underscore to symbols.
AIX's default behavior for exporting symbols from shared libaries does not
export symbols with prepended underscores.  You probably need to
explicitly create an export list of the symbols that should be exported
from the shared object inside the archive library.

David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]