Problem in Opening a shared object in Linux

Phani Kumar A
Tue Jan 10 08:46:00 GMT 2006


We are trying to migrate our Solaris Soft OSE application to Linux.
We use the dynamically linked options of the soft ose in our
application. We are facing plenty of unresolved symbol problems while
trying to load the ".so".These symbols are present in the libsoftose.a. 
for e.g
'receive_w_tmo', 'alloc' etc".My guess, It so seems that the symbols 
present in
libsoftose.a  are not exported to the Dynamic libraries.

we have a binary ( bulit on soft ose)  which loads a shared object 
(built on softose).
implies i use SEPARATELY_LINKED( YES ) in the osemain.con of the shared 
We include the library libsoftose.a in the binary.

Now, with linux, when i load the shared object ( i use dlopen())  the 
linker on linux
complains that the symbols like recieve_w_tmo, alloc etc present in 
shared object as unresolved.
This does not happen on solaris.

After  a bit of study, in linux, i found that the symbols present in binary
are not exported to dynamic link tables unless we give -Wl,-E option to gcc.
Even after doing this, i am not able to overcome the problem.

I suspect that symbols present in libsoftose.a library are not exported to
dynmaic link tables which are used when we dlopen the shared object.

Hope iam clear with the problem.

Any pointers would be really helpful.

Phani Kumar Reddy.A

Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you

More information about the Gcc-help mailing list