Thanks for the helpful replies. Following Tom's suggestion, I upgraded to perl 5.6.1 but still got the same result so I tried downgrading to 5.005, which is the version that was installed originally by VALinux. I got the source RPM and built a shared libperl.so version as required by plperl. This fixed the problem. I'm still not certain if this means plperl is incompatible with perl 5.6.x or if this is a VALinux oddity.
Jeff
-----Original Message-----
From: Peter Eisentraut [mailto:peter_e@gmx.net]
Sent: Thursday, May 17, 2001 7:41 AM
To: Jeff Patterson
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] PL/Perl in 7.1.1
Jeff Patterson writes:
> I recently upgraded from 7.0.3 to 7.1. Everything went fine until I went to
> install plperl using createlang. It throws the following error message:
>
> ERROR: Load of file /usr/local/pgsql/lib/plperl.so failed: /usr/lib/perl5/5.6.0/i686-linux/auto/Opcode/Opcode.so: undefined symbol: Perl_save_vptr
Here's a wildish guess: Get out your PostgreSQL sources, go to the
directory src/backend/port/dynloader, file linux.h and change
dlopen(f, 2)
to
dlopen(f, RTLD_LAZY | RTLD_GLOBAL)
and rebuild the backend. (If you don't have Linux you can still make a
similar change in the respective *.h file.)
--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter