in reply to ld.so.1: perl: fatal: relocation error

/apps/perl/5.8.0/lib
...
/usr/perl5/5.00503
That is a red flag (when perl -V:multiarch returns undef). Perl 5.5.x is not compatible with 5.8.x, so any .so files compiled with one perl aren't compatible with the other.
I checked the folder /home/xf023126/lib/perl5/site_perl/auto/HTML/Parser for the Parser.so, and I found it there. I can't figure out why I have a problem?
The error message says it all Parser.so: symbol Perl_Tstack_sp_ptr: referenced symbol not found. It means that Parser.so is linked with a perl (that is linked with a libperl.so ) that defined the Perl_Tstack_sp_ptr symbol, but the perl that is trying to load Parser.so has no such symbol. If you check your libperl.so.5.5 for Perl_Tstack_sp_ptr you won't find it, but you will in libperl.so.5.8. You can't mix your perls like that. You need to make sure the perl you're running your script with is the same perl you compiled your modules with.

PS - ld.so is the dynamic linker/loader.

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.

Replies are listed 'Best First'.
Re^2: ld.so.1: perl: fatal: relocation error
by august3 (Acolyte) on Nov 16, 2004 at 20:35 UTC
    Thank you very much PodMaster. I compiled the module with new version of perl and it works fine now. Augustine