It appears you have not registered with our community. To register please click here ...

Author Topic: Problem in Loading a Shared object in Linux  (Read 1508 times)

phani@tcs

  • Newbie
  • *
  • Posts: 1
  • Karma: +10/-0
    • View Profile
    • Email
Problem in Loading a Shared object in Linux
« on: January 09, 2006, 11:15:57 PM »
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
« Last Edit: January 09, 2006, 11:18:38 PM by phani@tcs »

sargek

  • Newbie
  • *
  • Posts: 28
  • Karma: +10/-0
    • View Profile
    • Email
Problem in Loading a Shared object in Linux
« Reply #1 on: January 11, 2006, 04:58:39 AM »
I am not a Linux developer, nor have a Solaris background, but what you are attempting is to try to run a Solaris application on Linux, correct? Correct me if I am wrong, but the two platforms are completely different, so is this even possible? Solaris may be able to run some Linux apps, but not sure if the reverse is true.

 

Related Topics

  Subject / Started by Replies Last post
0 Replies
1765 Views
Last post June 09, 2005, 04:09:22 AM
by contactsonia
4 Replies
1818 Views
Last post October 05, 2005, 03:18:05 PM
by adb22791
4 Replies
1795 Views
Last post January 09, 2006, 09:48:08 PM
by dynaweb
0 Replies
1743 Views
Last post January 20, 2006, 08:14:15 AM
by silmas
2 Replies
1435 Views
Last post July 11, 2006, 08:41:19 AM
by dynaweb