http://www.perlmonks.org?node_id=865974

miked348 has asked for the wisdom of the Perl Monks concerning the following question:

Running on RHEA 5.5 and using Active-Perl 5.8.8 in a corporate environment. Have a custom Perl script developed to parse source files and create a Subversion structured Export file to be used by the IBM RTC product to import the SVN file the Jazz Source control.

Recently installed a new P4 library to support some of the calls in the Perl script. I have used the script before and it has always worked in the past...perhaps needed adjustments but it ran at first anyway!

Now running as root or not (I should not require root) which does not make any difference I can see. It almost seems like the /usr/lib/perl5/site_perl/5.8.8/i386.../P4/P4.so was created with the things we need...and the MIA symbol (seen below) IS PRESENT in the P4.so as expected. The error message (also below) is a little cryptic but I 'think' it is looking at /usr/lib/perl5/5.8.8/i386..../P4/P4.so in which the P4... IS NOT present as the Makefile placed the stuff in /usr/lib/perl5/site_perl/........ NOT in /usr/lib/perl5/5.8.8/.......!

I suspect this is perhaps a LD_LIBRARY_PATH issue but I always thought one should stay away from setting this and in my case...it is NOT set to any path! The MIA symbol is found off the site_perl path but NOT in the normal /usr/lib/perl5/5.8.8/.... path!

The error message is below:

Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/aut +o/P4/P4.so' for module P4: /usr/lib/perl5/site_perl/5.8.8/i386-linux- +thread-multi/auto/P4/P4.so: undefined symbol: _ZTVN10__cxxabiv120__si +_class_type_infoE at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Dyn +aLoader.pm line 230. at ./p42svn.pl line 197
Any advice would be great! You can reach me at my primary E-mail address of Mike@DiFulvio.net or post here is always cool!

Thanks in advance.......

-----mikeD

Replies are listed 'Best First'.
Re: DYNALOAD ISSUE
by samtregar (Abbot) on Oct 18, 2010 at 16:23 UTC
    Have you tried rebuilding and reinstalling the P4 module? That's what I'd try.

    -sam

      Ran the install script to install P4 again but no change in the error message. I did a nm P4.so | grep <symbol_name> to see it is installed in that shared library off /usr/lib/perl5/site_perl/5.8.8 BUT the P4 and P4.so is NOT found in /usr/lib/perl5/5.8.8/..... I thought this was normal but the error message notes that 'standard' path missing something...and it is to be sure but why? ------mikeD
        Did you just reinstall P4 or did you rebuild it? If you didn't try rebuilding, try that.

        -sam