Thread: PL/Perl in 7.1.1
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: undefinedsymbol: Perl_save_vptr createlang: language installation failed. I verified the plperl.so file compiled without problems and is installed correctly at /usr/local/pgsql/lib/. Any ideas? -- Jeff Patterson Site Administrator The Melanoma Patients' Information Page http://www.mpip.org/
Jeff Patterson <jpat@sonic.net> 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: undefinedsymbol: Perl_save_vptr Hm. There is no such symbol in the source text of Postgres, so I suspect you are looking at a Perl version-compatibility problem, rather than something that's directly Postgres' fault. I suggest asking Perl gurus rather than Postgres gurus for help ... regards, tom lane
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: undefinedsymbol: 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
Hi Guys, If this works, can someone let me know? I'll put it on the techdocs site to let people work around this. :-) Regards and best wishes, Justin Clift Peter Eisentraut wrote: > > 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: undefinedsymbol: 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 > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html -- "My grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to try to be in the first group; there was less competition there." - Indira Gandhi
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
Are there any debian packages for Postgresql 7.1 or higher for Potato? I've tried to get the src-deb from unstable (7.1.1) but it won't compile under potato, not unless I upgrade the perl packages as well, which is not my idea. any ideas please? Thanks Alex
Re: debian packages for Postgresql 7.1 or higher ?
Alex <alex@quad.com.ar> wrote: > Are there any debian packages for Postgresql 7.1 or higher for Potato? http://people.debian.org/~elphick/postgresql/potato.html HTH, Ray -- Pinky, Are You Pondering What I'm Pondering? I think so Brain, but if they called them "sad meals", kids wouldn't buy them. Pinky and the Brain in "Brain Meets Brawn"
it's in testing, just add a line to to your apt-sources file, don't forget to comment it out after you add the db and before run apt-get upgrade tho Larry Price | "We have seen the truth. laprice@efn.org | And the truth makes no sense." -chesterton _______________________________________________________________ On Wed, 16 May 2001, Alex wrote: > Are there any debian packages for Postgresql 7.1 or higher for Potato? > I've tried to get the src-deb from unstable (7.1.1) but it won't compile > under potato, not unless I upgrade the perl packages as well, which is not > my idea. > > any ideas please? > > Thanks > > Alex > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org >
larry a price wrote: >it's in testing, just add a line to to your apt-sources file, don't forget >to comment it out after you add the db and before run apt-get upgrade tho > > >Larry Price | "We have seen the truth. >laprice@efn.org | And the truth makes no sense." -chesterton >_______________________________________________________________ > >On Wed, 16 May 2001, Alex wrote: > >> Are there any debian packages for Postgresql 7.1 or higher for Potato? >> I've tried to get the src-deb from unstable (7.1.1) but it won't compile >> under potato, not unless I upgrade the perl packages as well, which is not >> my idea. It's probably not a good idea to use packages from unstable if you want to keep the rest of your system stable. The unstable packages will certainly pull in a lot of other unstable packages through dependencies, including some major ones like libc6. potato packages are at http://people.debian.org/~elphick/postgresql/potato.html though they are not as up-to-date as the unstable distribution; I do them when I have time. -- Oliver Elphick Oliver.Elphick@lfix.co.uk Isle of Wight http://www.lfix.co.uk/oliver PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47 GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C ======================================== "For all that is in the world, the lust of the flesh, and the lust of the eyes, and the pride of life, is not of the Father, but is of the world." I John 2:17
On Wed, 16 May 2001, Alex wrote: > Are there any debian packages for Postgresql 7.1 or higher for Potato? > I've tried to get the src-deb from unstable (7.1.1) but it won't compile > under potato, not unless I upgrade the perl packages as well, which is not > my idea. http://people.debian.org/~elphick/postgresql/potato.html
well, apt-get source postgresql from unstable and compiling it into potato is a good solution (at least for postgresql 7.1, 7.1.1 seems to be a little more complicated due to perl requirements on compilation) but thank you guys for the hints!! I've got my pgsql 7.1 deb package compiled for potato and works great! From: "Oliver Elphick" <olly@lfix.co.uk> > It's probably not a good idea to use packages from unstable if you want > to keep the rest of your system stable. The unstable packages will > certainly pull in a lot of other unstable packages through dependencies, > including some major ones like libc6. > > potato packages are at > http://people.debian.org/~elphick/postgresql/potato.html > though they are not as up-to-date as the unstable distribution; I do them > when I have time. >