problem in loading a shared object in linux
Hi,
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 'receie_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 object. 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. Regards Phani Kumar Reddy.A phanikumar.ankireddy@tcs.com |
Please do not post the same thread in more than one forum. Picking the most relevant forum and posting it once there makes it easier for other members to help you and keeps the discussion all in one place.
http://www.linuxquestions.org/rules.php |
Closed per the above.
|
All times are GMT -5. The time now is 06:22 AM. |