Bug #525: createlang for plperl fails on Tru64 version 4.0F (v 7.1.3)
Mike Beerman (beermb@chp.edu) reports a bug with a severity of 2
The lower the number the more severe it is.
Short Description
createlang for plperl fails on Tru64 version 4.0F (v 7.1.3)
Long Description
We had plperl operating fine on our Compaq Tru64 4.0F system, when it was running PostgreSQL version 7.0.2. However, when we installed version 7.1.3, despite the fact that we had used the --with-perl flag when configuring, we cannot get plperl running with 7.1.3. When we try to run "createlang plperl dbname", we get the error "Load of file $PGHOME/lib/plperl.so failed: dlopen: cannot load $PGHOME/lib/plperl.so" even though the file it is looking for exists in the proper location and has the necessary permissions. I have tried recompiling the src for plperl, and it compiles without errors, and installs fine. But I get the same error when I try to run createlang. Has anyone else encountered this problem?
Thanks.
Sample Code
No file was uploaded with this report
pgsql-bugs@postgresql.org writes:
We had plperl operating fine on our Compaq Tru64 4.0F system, when it
was running PostgreSQL version 7.0.2. However, when we installed
version 7.1.3, despite the fact that we had used the --with-perl flag
when configuring, we cannot get plperl running with 7.1.3. When we try
to run "createlang plperl dbname", we get the error "Load of file
$PGHOME/lib/plperl.so failed: dlopen: cannot load
$PGHOME/lib/plperl.so" even though the file it is looking for exists
in the proper location and has the necessary permissions.
plperl.so depends on libperl.so; I'll bet that the problem is with
resolving that dependency, not with plperl itself. Check dynamic
loader search paths and so forth to see whether libperl can be found.
ldd or local equivalent might be helpful too, to examine how the
dependency is represented in plperl.so.
regards, tom lane
I tried linking both plperl.so and libperl.so in /usr/lib and
/usr/shlib, setting my LD_LIBRARY_PATH environment variable to include
those directories, recompiling the source for Pl/Perl, and still get the
same message. Unfortunately, Tru64 4.0F doesn't have an equivalent of
the ldd command that I am aware of, so I'm not sure how to check for
shared dependencies with this OS. I am using Perl v5.6, if that's
helpful.
Any further help would be much appreciated.
Thanks
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Thursday, November 29, 2001 6:33 PM
To: Beerman, Michael B; pgsql-bugs@postgresql.org
Subject: Re: [BUGS] Bug #525: createlang for plperl fails on Tru64
version 4.0F (v 7.1.3)
pgsql-bugs@postgresql.org writes:
We had plperl operating fine on our Compaq Tru64 4.0F system, when it
was running PostgreSQL version 7.0.2. However, when we installed
version 7.1.3, despite the fact that we had used the --with-perl flag
when configuring, we cannot get plperl running with 7.1.3. When we try
to run "createlang plperl dbname", we get the error "Load of file
$PGHOME/lib/plperl.so failed: dlopen: cannot load
$PGHOME/lib/plperl.so" even though the file it is looking for exists
in the proper location and has the necessary permissions.
plperl.so depends on libperl.so; I'll bet that the problem is with
resolving that dependency, not with plperl itself. Check dynamic
loader search paths and so forth to see whether libperl can be found.
ldd or local equivalent might be helpful too, to examine how the
dependency is represented in plperl.so.
regards, tom lane
Import Notes
Resolved by subject fallback
Thanks for your help. The main problem that was holding me up was that I
wasn't sure what the equivalent of ldd was on Tru64 4.0F (ldd is
available on version 4.0G and higher). I found out odump -Dl
libraryname.so is the closest equivalent on this OS. From that, I
discovered the missing library was Opcode.so. Once I put a link to it in
my dynamic loader search path, everything worked fine.
__________________________
Michael Beerman
Software Engineer
Children's Hospital of Pittsburgh
(412)692-8390
__________________________
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Thursday, November 29, 2001 6:33 PM
To: Beerman, Michael B; pgsql-bugs@postgresql.org
Subject: Re: [BUGS] Bug #525: createlang for plperl fails on Tru64
version 4.0F (v 7.1.3)
pgsql-bugs@postgresql.org writes:
We had plperl operating fine on our Compaq Tru64 4.0F system, when it
was running PostgreSQL version 7.0.2. However, when we installed
version 7.1.3, despite the fact that we had used the --with-perl flag
when configuring, we cannot get plperl running with 7.1.3. When we try
to run "createlang plperl dbname", we get the error "Load of file
$PGHOME/lib/plperl.so failed: dlopen: cannot load
$PGHOME/lib/plperl.so" even though the file it is looking for exists
in the proper location and has the necessary permissions.
plperl.so depends on libperl.so; I'll bet that the problem is with
resolving that dependency, not with plperl itself. Check dynamic
loader search paths and so forth to see whether libperl can be found.
ldd or local equivalent might be helpful too, to examine how the
dependency is represented in plperl.so.
regards, tom lane
Import Notes
Resolved by subject fallback