PL/Perl in 7.1.1

Started by Jeff Pattersonalmost 25 years ago11 messagesgeneral
Jump to latest
#1Jeff Patterson
jpat@sonic.net

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

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/

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jeff Patterson (#1)
Re: PL/Perl in 7.1.1

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: undefined symbol: 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

#3Alex
alex@quad.com.ar
In reply to: Jeff Patterson (#1)
debian packages for Postgresql 7.1 or higher ?

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

#4Peter Eisentraut
peter_e@gmx.net
In reply to: Jeff Patterson (#1)
Re: 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

#5Justin Clift
justin@postgresql.org
In reply to: Peter Eisentraut (#4)
Re: PL/Perl in 7.1.1

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: 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

---------------------------(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

#6Jeff Patterson
jpat@mywayhealth.com
In reply to: Peter Eisentraut (#4)
RE: PL/Perl in 7.1.1

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

#7Marc SCHAEFER
schaefer@alphanet.ch
In reply to: Alex (#3)
Re: debian packages for Postgresql 7.1 or higher ?

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

#8larry a price
laprice@efn.org
In reply to: Alex (#3)
Re: debian packages for Postgresql 7.1 or higher ?

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:

Show quoted text

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

#9(J.H.M. Dassen \(Ray\))
jdassen@cistron.nl
In reply to: Jeff Patterson (#1)
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"

#10Oliver Elphick
olly@lfix.co.uk
In reply to: (J.H.M. Dassen \(Ray\)) (#9)
Re: debian packages for Postgresql 7.1 or higher ?

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

#11Alex
alex@quad.com.ar
In reply to: Oliver Elphick (#10)
Re: debian packages for Postgresql 7.1 or higher ?

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>

Show quoted text

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.