general trouble installing languages

Started by Cindyover 23 years ago9 messagesgeneral
Jump to latest
#1Cindy
ctmoore@uci.edu

I suspect at this point I may need to recompile things? I'm not sure
what the trouble is. Can I try the directions in
http://www.postgresql.org/idocs/index.php?plperl-install.html
in lieu of a complete recompilation? The runit does indicate that
with-perl was included, so I don't understand why this didn't
work, but perhaps (see below) because the timestamps are different?

I didn't have any better luck with trying to createlang on plpgsql either...

......

(Also, trying to link libperl.so.1 to libperl.so failed. And I don't think
it's a shared library problem, as I'm not getting that message anywhere.)

The error message is now a bit more detailed:

createlang -L /usr/local/pgsql/lib -d Text plperl

ERROR: Load of file /usr/local/pgsql/lib/plperl.so failed: ld.so.1: /usr/local
/pgsql/bin/postmaster: fatal: libperl.so.1: open failed: No such file or direct
ory
createlang: language installation failed

I am running this command from the account under which psql was installed
& started (which shd be superuser).

I do note that:

ls -l /usr/local/pgsql/lib/plperl.so

- -rwxr-xr-x 1 root other 93252 Feb 25 2002 /usr/local/pgsql/lib/plpe
rl.so*

is earlier than the dates of the compilation in the src/pl dir:

ls -l /export/home/download/postgresql-7.2/src/pl/plperl/

total 184
- -rw-r--r-- 1 nishad other 754 Sep 16 2001 GNUmakefile
- -rw-r--r-- 1 nishad other 17459 Aug 16 14:21 Makefile
- -rw-r--r-- 1 nishad other 2317 Aug 26 2001 Makefile.PL
- -rw-r--r-- 1 nishad other 440 Dec 19 2000 README
- -rw-r--r-- 1 nishad other 2402 Aug 16 14:21 SPI.c
- -rw-r--r-- 1 nishad other 7396 Aug 16 14:21 SPI.o
- -rw-r--r-- 1 nishad other 1211 Jun 8 2001 SPI.xs
drwxr-xr-x 4 nishad other 512 Aug 16 14:21 blib/
- -rw-r--r-- 1 nishad other 325 Jun 8 2001 eloglvl.c
- -rw-r--r-- 1 nishad other 78 Jun 8 2001 eloglvl.h
- -rw-r--r-- 1 nishad other 2008 Aug 16 14:21 eloglvl.o
- -rw-r--r-- 1 nishad other 0 Aug 16 14:21 plperl.bs
- -rw-r--r-- 1 nishad other 24021 Jan 24 2002 plperl.c
- -rw-r--r-- 1 nishad other 18468 Aug 16 14:21 plperl.o
- -rw-r--r-- 1 nishad other 0 Aug 16 14:21 pm_to_blib
- -rw-r--r-- 1 nishad other 7519 Nov 5 2001 ppport.h

Hm....??? Perhaps recompilation is in order... Or just reinstallation?
(of what? no .so file here)

Thanks,
--Cindy

#2Oliver Elphick
olly@lfix.co.uk
In reply to: Cindy (#1)
Re: general trouble installing languages

On Tue, 2002-09-17 at 18:46, Cindy wrote:

I suspect at this point I may need to recompile things? I'm not sure
what the trouble is. Can I try the directions in

...

The error message is now a bit more detailed:

createlang -L /usr/local/pgsql/lib -d Text plperl

ERROR: Load of file /usr/local/pgsql/lib/plperl.so failed: ld.so.1: /usr/local
/pgsql/bin/postmaster: fatal: libperl.so.1: open failed: No such file or direct
ory

^^^^^^^^^^^^

It is missing libperl, that is the shared library version of Perl
itself. This is not part of PostgreSQL, so rebuilding PostgreSQL will
do you no good at all.

You need to build Perl from source or install a shared library package
of it.

--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
========================================
"Honour the LORD with thy substance, and with the
firstfruits of all thine increase; So shall thy barns
be filled with plenty, and thy presses shall burst out
with new wine." Proverbs 3:9,10

#3Cindy
ctmoore@uci.edu
In reply to: Oliver Elphick (#2)
Re: general trouble installing languages

Oliver Elphick writes:

Cindy wrote:

ERROR: Load of file /usr/local/pgsql/lib/plperl.so failed: ld.so.1: /usr/l

ocal

/pgsql/bin/postmaster: fatal: libperl.so.1: open failed: No such file or di

rect

ory

^^^^^^^^^^^^

It is missing libperl, that is the shared library version of Perl
itself. This is not part of PostgreSQL, so rebuilding PostgreSQL will
do you no good at all.

You need to build Perl from source or install a shared library package
of it.

Thanks. I guess I was looking for a message more like that indicated
in the install docs, but since I didn't do the initial installation,
for all I know that was overlooked. I'll ask our admin about the
shared library package. They probably have it in a nonstandard
directory <sigh>.

--
Cindy
ctmoore@uci.edu

#4Cindy
ctmoore@uci.edu
In reply to: Cindy (#3)
Re: general trouble installing languages

Cindy writes:

Thanks. I guess I was looking for a message more like that indicated
in the install docs, but since I didn't do the initial installation,
for all I know that was overlooked. I'll ask our admin about the
shared library package. They probably have it in a nonstandard
directory <sigh>.

OK, related question while I wait for my admin to respond. Assuming
the shared libary package is available in some other directory, I'm
assuming I'm still going to have to do something to wind up with a
libperl.so in the /usr/local/pgsql/lib directory.

And I'm guessing that's what is outlined in
http://www.postgresql.org/idocs/index.php?plperl-install.html

??

Thanks,
--
Cindy, impatient :-)
ctmoore@uci.edu

#5Lamar Owen
lamar.owen@wgcr.org
In reply to: Cindy (#4)
Re: general trouble installing languages

On Tuesday 17 September 2002 02:42 pm, Cindy wrote:

OK, related question while I wait for my admin to respond. Assuming
the shared libary package is available in some other directory, I'm
assuming I'm still going to have to do something to wind up with a
libperl.so in the /usr/local/pgsql/lib directory.

Perl itself has to be rebuilt to provide libperl.so
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

#6Larry Rosenman
ler@lerctr.org
In reply to: Lamar Owen (#5)
Re: general trouble installing languages

On Tue, 2002-09-17 at 13:47, Lamar Owen wrote:

On Tuesday 17 September 2002 02:42 pm, Cindy wrote:

OK, related question while I wait for my admin to respond. Assuming
the shared libary package is available in some other directory, I'm
assuming I'm still going to have to do something to wind up with a
libperl.so in the /usr/local/pgsql/lib directory.

Perl itself has to be rebuilt to provide libperl.so

FWIW, it seems perl 5.8 gets this right. LER

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

#7Cindy
ctmoore@uci.edu
In reply to: Larry Rosenman (#6)
Re: general trouble installing languages

Lamar Owen writes:

On Tuesday 17 September 2002 02:42 pm, Cindy wrote:

OK, related question while I wait for my admin to respond. Assuming
the shared libary package is available in some other directory, I'm
assuming I'm still going to have to do something to wind up with a
libperl.so in the /usr/local/pgsql/lib directory.

Perl itself has to be rebuilt to provide libperl.so

Not if the shared library is in fact already built? It very well
may be on this system, I'm working at a university which has an
overall administration in place on top of the individual unix boxes,
and practically nothing is in standard paths (infuriating, but...).
So if it's already there, just in some oddball directory, I shd
be able to use it?

They may have to recompile, if htis is the dir (I'm guessing,
though)

ls /dcs/lib/perl/

abbrev.pl fmtmsg.ph netdir.ph std.ph
admin/ form.ph netinet/ stdarg.ph
alloca.ph ftw.ph newgetopt.pl stddef.ph
ar.ph getcwd.pl nfs/ stdio.ph
archives.ph getopt.pl nl_types.ph stdlib.ph
arpa/ getopts.pl nlist.ph storclass.ph
assert.ph getwidth.ph nsaddr.ph string.ph
assert.pl grp.ph nserve.ph stropts.ph
bigfloat.pl ieeefp.ph nsswitch.ph sum.ph
bigint.pl importenv.pl open2.pl syms.ph
bigrat.pl inet/ panel.ph sys/
cacheout.pl kerberos/ perldb.pl syslog.ph
chat2.pl kstat.ph ph.pl syslog.pl
complete.pl kvm.ph pkgdev.ph table.ph
core langinfo.ph pkginfo.ph tar.ph
cpio.ph lastlog.ph pkglocs.ph term.ph
crypt.ph libelf.ph pkgstrct.ph termcap.pl
ctime.pl libgen.ph pkgtrans.ph termio.ph
ctype.ph libgenIO.ph pn.ph termios.ph
curses.ph libintl.ph poll.ph time.ph
deflt.ph libw.ph prof.ph timelocal.pl
des/ limits.ph protocols/ tiuser.ph
devmgmt.ph linenum.ph pw.ph tzfile.ph
dial.ph link.ph pwd.ph ucontext.ph
dirent.ph listen.ph pwd.pl ulimit.ph
dlfcn.ph locale.ph regexp.ph unctrl.ph
dumpvar.pl look.pl regexpr.ph unistd.ph
elf.ph macros.ph resolv.ph userdefs.ph
errno.ph maillock.ph rje.ph ustat.ph
eti.ph malloc.ph rpc/ utime.ph
euc.ph math.ph rpcsvc/ utmp.ph
exceptions.pl memory.ph sac.ph utmpx.ph
fastcwd.pl menu.ph search.ph validate.pl
fatal.ph mon.ph setjmp.ph valtools.ph
fcntl.ph mp.ph sgtty.ph values.ph
find.pl nan.ph shadow.ph varargs.ph
finddepth.pl ndbm.ph shellwords.pl vm/
float.ph net/ siginfo.ph wait.ph
floatingpoint.ph netconfig.ph signal.ph wctype.ph
flush.pl netdb.ph stat.pl widec.ph

since I dont see libperl.* up there.

So what exactly does the make install from the src/pl/plperl directory
do, then? And would I have to do it once libperl.whatever became available?

Oh, and if libperl.so is from a perl compilation why is it in psql's lib
dir? Does it get copied there at some point in installation?

--
Cindy
ctmoore@uci.edu

#8Lamar Owen
lamar.owen@wgcr.org
In reply to: Cindy (#7)
Re: general trouble installing languages

On Tuesday 17 September 2002 02:58 pm, Cindy wrote:

Lamar Owen writes:

On Tuesday 17 September 2002 02:42 pm, Cindy wrote:

OK, related question while I wait for my admin to respond. Assuming
the shared libary package is available in some other directory, I'm
assuming I'm still going to have to do something to wind up with a
libperl.so in the /usr/local/pgsql/lib directory.

Perl itself has to be rebuilt to provide libperl.so

Not if the shared library is in fact already built? It very well
may be on this system, I'm working at a university which has an
overall administration in place on top of the individual unix boxes,
and practically nothing is in standard paths (infuriating, but...).
So if it's already there, just in some oddball directory, I shd
be able to use it?

Oh, and if libperl.so is from a perl compilation why is it in psql's lib
dir? Does it get copied there at some point in installation?

The file libperl.so is a dynamically linkable version of the embeddable
libperl.a. This allows an extension module to embed perl in itself. The
plperl.so module is a 'wrapper' with a few extra features that embeds the
whole perl interpreter (libperl.so) into the backend.

It shouldn't be in the psql libdir; it should be in a system libdir. If you
have sufficient privileges to do so, do a 'find / -name "libperl.so*" -print'
and see if it is anywhere on your system in a place the dynamic loader
(ld.so) can find it.

To recap:
1.) plperl.so is the PL/Perl extension module provided as part of the
PostgreSQL distribution;
2.) libperl.so is the perl interpreter suitable for dynamic loading into an
extension module and is provided by the perl package;
3.) 1 uses 2.
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

#9GB Clark
postgres@vsservices.com
In reply to: Cindy (#1)
Re: general trouble installing languages

On Tue, 17 Sep 2002 10:46:35 -0700
Cindy <ctmoore@uci.edu> wrote:

<SNIP>

createlang -L /usr/local/pgsql/lib -d Text plperl

ERROR: Load of file /usr/local/pgsql/lib/plperl.so failed: ld.so.1: /usr/local
/pgsql/bin/postmaster: fatal: libperl.so.1: open failed: No such file or direct
ory
createlang: language installation failed

<SNIP>
Ok, a major question, what OS and version are you running? This would help things out.

Thanks,
--Cindy

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

GB

--
GB Clark II | Roaming FreeBSD Admin
gclarkii@VSServices.COM | General Geek
CTHULU for President - Why choose the lesser of two evils?