Unix Programming - Re: dlopen: fatal: relocation error

This is Interesting: Free IT Magazines  
Home > Archive > Unix Programming > June 2007 > Re: dlopen: fatal: relocation error





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Re: dlopen: fatal: relocation error
shahan.am@gmail.com

2007-06-27, 7:19 pm

On Jun 27, 11:57 pm, Frank Cusack <fcus...@fcusack.com> wrote:
> On Wed, 27 Jun 2007 10:59:54 -0700 shahan...@gmail.com wrote:
>
>
>
>
>
>
>
>
>
>
>
> It's not complaining about not finding your global symbol, it's
> complaining about the .so not being dlopen()able at all.
>
> ...
>
>
> That is not what you reported earlier. You are either confused
> about where this error is being generated, or you are not accurately
> reporting the errors.
>
> It would probably help to PASTE the output from your compilation and
> then running of the program. BTW, did you compile the shared lib with
> -fpic? I don't think that's it because you said it works on x86.
>
> -fran


thanks frank
yes i did compile the .so with -fpic. but didn't work..

this is the exact error message dlerror gives after dlopen fails.

ld.so.1: rexserd: fatal: relocation error: file libmsat.d.so: symbol
_Z11GetLastErrorv: referenced symbol not found

where rexserd is my executable which invoke dlopen

as far as i understand this means it can't find the reference to the
GetLastError function isn't it ?

but the GetLastError function (CError* GetLastError (void)) is defined
in the executable and i even checked its symbols using nm -s rexserd |
grep GetLastError .

[475] | 80912| 40|FUNC |GLOB |0 |.text |
_Z11GetLastErrorv

this is the out put.

so what did actually went wrong..





Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com