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

hi,
I was using perl 5.6.0, with which SAPDB modules worked fine. Recently I compiled & installed Perl v5.8.0 afterwhich the programs using SAPDB doesnt work. It gives the following error:
Can't load '/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/SAP/D +BTech/sapdbcperl/sapdbcperl.so' for module SAP::DBTech::sapdbcperl: / +usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/SAP/DBTech/sapdbc +perl/sapdbcperl.so: undefined symbol: perl_call_sv at /usr/local/lib/ +perl5/5.8.0/i686-linux/DynaLoader.pm line 229. at /usr/local/lib/perl5/site_perl/5.8.0/SAP/DBTech/sapdb.pm line 18 Compilation failed in require at sql_1.pl line 5. BEGIN failed--compilation aborted at sql_1.pl line 5.
Is it a problem with SAPDB installation ? should I enable any option so that perl_call_sv is present wherever is should be ?

Please anyone help me.
Jai.

Replies are listed 'Best First'.
Re: perl_call_sv failure
by Zaxo (Archbishop) on Aug 25, 2003 at 15:46 UTC

    XS and other binary dependent modules must be recompiled for perl 5.8.0. Check to see that /usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/SAP/DBTech/sapdbcperl/sapdbcperl.so exists.

    After Compline,
    Zaxo

      The file
      /usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/SAP/DBTech/sapdbcperl/sapdbcperl.so
      does exist. The problem is that SAPDB modules are distributed as binaries, hence no way to recompile them. Is there any work-around, and where is perl_call_sv defined ?
      Thanks for the response,
      jai..
Re: perl_call_sv failure
by diotalevi (Canon) on Aug 25, 2003 at 15:46 UTC

    Did you forget to re-install all your perl modules as well? 5.8.0 is not binary compatible with previous versions. Any modules with compiled C code need to be recompiled.