Thread: Problem with pl/perl in postgresql 8.0rc1

Problem with pl/perl in postgresql 8.0rc1

From
Robert Boone
Date:
Hello,

I am very new to postgresql and was excited to see that pl/perl was able
to do more in the newest version. So I created a database to learn some
of is feature. But when I try to to do:

        createlang plperl test

I get:
        createlang: language installation failed: ERROR:  could not load
library "/usr/lib/pgsql/plperl.so": libperl.so: cannot open shared
object file: No such file or directory


I tried installing some of the other languages and they seem to work.

I am using the postgresql8.0rc1 rpms for FC3. I even try the srpm to
compile it myself but I get the same results.

If anyone could tell me what I'm doing wrong that would be great.

Thanks,

Robert Boone


Re: Problem with pl/perl in postgresql 8.0rc1

From
Kretschmer Andreas
Date:
am  Fri, dem 17.12.2004, um  8:54:45 -0600 mailte Robert Boone folgendes:
> Hello,
>
> I am very new to postgresql and was excited to see that pl/perl was able
> to do more in the newest version. So I created a database to learn some
> of is feature. But when I try to to do:
>
>         createlang plperl test
>
> I get:
>         createlang: language installation failed: ERROR:  could not load
> library "/usr/lib/pgsql/plperl.so": libperl.so: cannot open shared
> object file: No such file or directory

I use PG 7.4.5 on Debian, and I found the libperl.so there:
/usr/lib/postgresql/lib/plperl.so

Try to find the file plperl.so.


Regards, Andreas
--
Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau-
fenden Pinguins aus artgerechter Freilandhaltung.   Er ist garantiert frei
von Micro$oft'schen Viren. (#97922 http://counter.li.org)     GPG 7F4584DA
Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-)

Re: Problem with pl/perl in postgresql 8.0rc1

From
Robert Boone
Date:
Hello,

    "/usr/lib/pgsql/plperl.so" is the only plperl.so I have. To check I
did:
    find / -name plperl.so
And the only result was:
    /usr/lib/pgsql/plperl.so

Have any other ideas of what might be wrong?

Robert Boone

On Fri, 2004-12-17 at 16:34 +0100, Kretschmer Andreas wrote:
> am  Fri, dem 17.12.2004, um  8:54:45 -0600 mailte Robert Boone folgendes:
> > Hello,
> >
> > I am very new to postgresql and was excited to see that pl/perl was able
> > to do more in the newest version. So I created a database to learn some
> > of is feature. But when I try to to do:
> >
> >         createlang plperl test
> >
> > I get:
> >         createlang: language installation failed: ERROR:  could not load
> > library "/usr/lib/pgsql/plperl.so": libperl.so: cannot open shared
> > object file: No such file or directory
>
> I use PG 7.4.5 on Debian, and I found the libperl.so there:
> /usr/lib/postgresql/lib/plperl.so
>
> Try to find the file plperl.so.
>
>
> Regards, Andreas

Re: Problem with pl/perl in postgresql 8.0rc1

From
Michael Fuhr
Date:
On Fri, Dec 17, 2004 at 10:04:29AM -0600, Robert Boone wrote:

>     "/usr/lib/pgsql/plperl.so" is the only plperl.so I have. To check I
> did:
>     find / -name plperl.so
> And the only result was:
>     /usr/lib/pgsql/plperl.so

The error message is complaining about libperl.so, not plperl.so.
If you run "ldd /usr/lib/pgsql/plperl.so", one of the lines will
probably look like this:

  libperl.so => not found

Run "locate libperl.so" or "find / -name libperl.so" and see if you
have that file, which should be part of your Perl installation.  If
not, then maybe your Perl was built without shared library support.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

Re: Problem with pl/perl in postgresql 8.0rc1

From
Tom Lane
Date:
Robert Boone <robert@rlb3.com> writes:
> I get:
>         createlang: language installation failed: ERROR:  could not load
> library "/usr/lib/pgsql/plperl.so": libperl.so: cannot open shared
> object file: No such file or directory

You have to read the message carefully: plperl.so is trying to invoke
libperl.so, and that file is the one that's not being found.

This suggests to me that your Perl installation isn't quite the same as
the one the RPM was built against.  Try
    readelf -d /usr/lib/pgsql/plperl.so
and see if there's an RPATH entry.  On my plperl.so I see
 0x0000000f (RPATH)                      Library rpath: [/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE]
and indeed I have /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so
so everything works.  But with all those version numbers buried in the
path, a slightly different Perl vintage would make it break.

            regards, tom lane

Re: Problem with pl/perl in postgresql 8.0rc1

From
Devrim GUNDUZ
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Hi,

On Fri, 17 Dec 2004, Robert Boone wrote:

> I am very new to postgresql and was excited to see that pl/perl was able
> to do more in the newest version. So I created a database to learn some
> of is feature. But when I try to to do:
>
>        createlang plperl test
>
> I get:
>        createlang: language installation failed: ERROR:  could not load
> library "/usr/lib/pgsql/plperl.so": libperl.so: cannot open shared
> object file: No such file or directory
>
> I tried installing some of the other languages and they seem to work.
>
> I am using the postgresql8.0rc1 rpms for FC3. I even try the srpm to
> compile it myself but I get the same results.
>
> If anyone could tell me what I'm doing wrong that would be great.

This is known issue on FC3, and we fixed the RPMset for that. Until we
release RC2 RPMs, could you please run the following commands :

export PERLVER=`perl -e 'printf "%vd\n", $^V'`
echo "/usr/lib/perl5/$PERLVER/i386-linux-thread-multi/CORE" > /etc/ld.so.conf.d/perl.conf
ldconfig

Then

createlang plperl test

will work.

- -HTH

Regards,
- --
Devrim GUNDUZ
devrim~gunduz.org                devrim.gunduz~linux.org.tr
             http://www.tdmsoft.com
             http://www.gunduz.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFBwxzVtl86P3SPfQ4RAoO4AKC4UpnTXEKrXuRKlovj2LTS7rYlagCdGzDC
tVt/5jzH7ZjqUwatH+HC4Tc=
=vMcg
-----END PGP SIGNATURE-----

Re: Problem with pl/perl in postgresql 8.0rc1

From
Robert Boone
Date:
Hello,

    I think I got it installed. I did have have libperl.so but for some
reason it wasn't being picked up by ld.so.conf.

So I:
    ldconfig /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so

Then I rebuilt the postgresql srpm. And I was able to do:
    createlang plperl test

And it worked.

Thanks to everyone that replied.

Robert Boone