Re: PlPERL and shared libraries on Suse

Поиск
Список
Период
Сортировка
От Steve Atkins
Тема Re: PlPERL and shared libraries on Suse
Дата
Msg-id 20041022164705.GB13207@gp.word-to-the-wise.com
обсуждение исходный текст
Ответ на PlPERL and shared libraries on Suse  (Eric E <whalesuit@bonbon.net>)
Ответы Re: PlPERL and shared libraries on Suse  (Eric E <whalesuit@bonbon.net>)
Список pgsql-general
On Fri, Oct 22, 2004 at 12:13:12PM -0400, Eric E wrote:

> Hi,
>    I have an installation of Postgres 7.4.2 on SuSE 9.1.  This version
> of SuSE comes with a binary for plperl and several other postgres
> procedural languages.  All the others, including plpgsql install without
> a problem, but executing:
>    createlang -u postgres plperl template1
> produces the result:
> createlang: language installation failed: ERROR:  could not load library
> "/usr/lib/postgresql/plperl.so": libperl.so: cannot open shared object
> file: No such file or directory
>
> The file, however, is there:
>
> # ls -l /usr/lib/postgresql/plperl.so
> -rwxr-xr-x  1 root root 37097 Apr  5  2004 /usr/lib/postgresql/plperl.so
>
> Some googling gave me the idea that it may be a problem with the way
> perl was compiled - i.e, perl is not compiled for shared libraries.  Can
> anyone confirm this?  If so, do I need to rebuild perl, or pl/perl, or
> both?  Are there any binaries that can resolve this?  (yes not wanting
> to compile plperl is plain old laziness, but I do have reservations
> about recompiling the perl interpreter)

The error message gives you the hint you need. The missing file isn't
plperl.so - it's libperl.so.

libperl.so is the dynamic library version of perl. It's not usually
installed by most people building perl. (It's also not neccesarily
needed by plperl.so, as libperl.a can be statically linked into
plperl.so, I believe).

I don't know SuSEs package system (I always install from source) but
there may well be another perl package that would provide libperl.so.
Failing that you'll either need to build a perl installation and tell
Configure to build libperl.so, or rebuild plperl.so. It's also
possible that you do have libperl.so somewhere, but it's not on
the standard library search path and not where plperl expects
to find it.

'ldd' is a useful command for tracking down this sort of problem.

Cheers,
  Steve

В списке pgsql-general по дате отправления:

Предыдущее
От: Jan Wieck
Дата:
Сообщение: Re: [Slony1-general] Re: Slony-I 1.0.4 Released
Следующее
От: Tom Lane
Дата:
Сообщение: Re: PlPERL and shared libraries on Suse