[Zope-Perl] problem with dynamic loading of perl embedded in python ?

Joseph Wayne Norton norton@alum.mit.edu
Fri, 4 Aug 2000 11:38:45 +0900 (JST)


Hello.

I'm having trouble getting the following example to work with simply
perl embedded in python (a similiar perl only script works fine with
perl):

        import perl
        perl.eval("""
           print "hello world\n";
           """)
        perl.eval("""
           use Data::Dumper;
           my @c = ('c');
           my $c = \@c;
           my $b = {};
           my $a = [1, $b, $c];
           $b->{a} = $a;
           $b->{b} = $a->[1];
           $b->{c} = $a->[2];
           print Data::Dumper->Dump([$a,$b,$c], [qw(a b c)]);
           """)

I get the following error ...

        /export/arseed-apps/base/bin/python basic.py
        hello world
        Traceback (innermost last):
          File "basic.py", line 8, in ?
            perl.eval("""
        perl.PerlError: Can't load '/export/arseed-apps/base/lib/perl5/5.6.0/i686-linux/auto/Data/Dumper/Dumper.so' for module Data::Dumper: /export/arseed-apps/base/lib/perl5/5.6.0/i686-linux/auto/Data/Dumper/Dumper.so: undefined symbol: PL_sv_undef at /export/arseed-apps/base/lib/perl5/5.6.0/i686-linux/DynaLoader.pm line 200.
         at (eval 2) line 2
        Compilation failed in require at (eval 2) line 2.
        BEGIN failed--compilation aborted at (eval 2) line 2.


I'm using perl-5.6.0, python-1.5.2, Distutils, plus the patches
supplied by Gisle on a linux system.  I'm building perl as follows.

              mysystem("patch < $patdir/perl5.6.0-perl-method-G_EVAL");
              mysystem("patch < $patdir/perl5.6.0-perl-vcroak-null");
              mysystem("rm -f config.sh Policy.sh");
              mysystem("sh ./Configure -Dprefix=$pfx -des");

Any ideas?

thanks,

- joe n

-- 

--
Joseph Norton

norton@alum.mit.edu
+81-3-3822-6936
2-10-7 Tabata, Kita-ku, Tokyo 114-0014, Japan ($B")(B114-0014  $BEl5~ETKL6hEDC<#2CzL\(B10-7)