Обсуждение: plperl/createlang issue
I'm trying to load plperl to experiment with it in 7.3.4 with perl v5.8.0. I've basically tried the following: configure --with-perl, then initdb, then start postmaster, then createlang plplerl template1 No matter what I try, I keep getting this error: $ createlang plperl template1 ERROR: Load of file /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so failed: libperl.so: cannot open shared object file: No such file or directory createlang: language installation failed But it sure looks like its there to me: $ ls -l /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so -rwxr-xr-x 1 pg pg 35770 Nov 11 19:39 /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so* I *think* my perl is threaded based on perl -v: $ perl -v This is perl, v5.8.0 built for i386-linux-thread-multi ... Any clues for the clueless? TIA. Ed
--On Tuesday, November 11, 2003 19:22:50 -0700 "Ed L." <pgsql@bluepolka.net> wrote: > I'm trying to load plperl to experiment with it in 7.3.4 with perl > v5.8.0. I've basically tried the following: > > configure --with-perl, then > initdb, then > start postmaster, then > createlang plplerl template1 > > No matter what I try, I keep getting this error: > > $ createlang plperl template1 > ERROR: Load of file /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so > failed: libperl.so: cannot open shared object file: No such file or > directory > createlang: language installation failed > > But it sure looks like its there to me: > > $ ls -l /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so > -rwxr-xr-x 1 pg pg 35770 Nov 11 19:39 > /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so* > > I *think* my perl is threaded based on perl -v: The issue is there is no libperl.so (from the perl build). Check your PERL build. > > $ perl -v > > This is perl, v5.8.0 built for i386-linux-thread-multi > ... > > Any clues for the clueless? > > TIA. > > Ed > > > ---------------------------(end of broadcast)--------------------------- > TIP 8: explain analyze is your friend > -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: ler@lerctr.org US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
Вложения
"Ed L." <pgsql@bluepolka.net> writes: > No matter what I try, I keep getting this error: > $ createlang plperl template1 > ERROR: Load of file /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so > failed: libperl.so: cannot open shared object file: No such file or > directory The error message probably does not mean what it appears to say. The odds are that the "no such file" applies not to plperl.so itself, but to some shared library that it depends on directly or indirectly --- in other words, libperl.so or something that libperl depends on. Unix dynamic loaders are *notoriously* bad about delivering useful error messages in this sort of situation :-( You probably need to fool with your ldconfig configuration to make sure all of the needed libraries are in ldconfig's search path. ldd is a useful tool for seeing how library references are being resolved. regards, tom lane
On Tue, Nov 11, 2003 at 07:22:50PM -0700, Ed L. wrote: > $ createlang plperl template1 > ERROR: Load of file /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so > failed: libperl.so: cannot open shared object file: No such file or > directory > createlang: language installation failed > This is perl, v5.8.0 built for i386-linux-thread-multi Try ldd /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so If it points out any "not found" libraries, there's something you need to play with (probably /etc/ld.so.conf). -- Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) Al principio era UNIX, y UNIX habló y dijo: "Hello world\n". No dijo "Hello New Jersey\n", ni "Hello USA\n".
On Tue, 2003-11-11 at 21:22, Ed L. wrote: > $ createlang plperl template1 > ERROR: Load of file /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so > failed: libperl.so: cannot open shared object file: No such file or > directory > createlang: language installation failed I had the exact problem recently, and I found the solution. 1) First, locate your libperl.so file. On my PPC box it was: [chris@mafalda chris]$ locate libperl.so /usr/lib/perl5/5.8.0/ppc-linux-thread-multi/CORE/libperl.so 2) Add that directory to /etc/ld.so.conf 3) run ldconfig (as root) Then your creatlang statement should work. Hope that helps. Cheers, Chris > But it sure looks like its there to me: > > $ ls -l /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so > -rwxr-xr-x 1 pg pg 35770 Nov 11 19:39 > /opt/pgsql/installs/postgresql-7.3.4/lib/plperl.so* > > I *think* my perl is threaded based on perl -v: > > $ perl -v > > This is perl, v5.8.0 built for i386-linux-thread-multi > ... > > Any clues for the clueless? > > TIA. > > Ed > > > ---------------------------(end of broadcast)--------------------------- > TIP 8: explain analyze is your friend