473,396 Members | 2,033 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

PlPERL and shared libraries on Suse

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)

Any ideas would be helpful.

Thanks,

Eric

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

http://www.postgresql.org/docs/faqs/FAQ.html

Nov 23 '05 #1
3 3673
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

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

http://www.postgresql.org/docs/faqs/FAQ.html

Nov 23 '05 #2
Eric E <wh*******@bonbon.net> writes:
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


It's complaining that it can't find libperl.so (ie, the Perl interpreter)
not plperl.so. Do you have a libperl.so? Is it in your ldconfig search
path?

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ma*******@postgresql.org so that your
message can get through to the mailing list cleanly

Nov 23 '05 #3
Hi Steve and Tom,
Thanks for the tip, I was clearly not reading the error message closely
enough.

I copied libperl.so into /lib, and now everything works.

Many thanks,

Eric

Steve Atkins wrote:
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

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

http://www.postgresql.org/docs/faqs/FAQ.html

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Nov 23 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Phil | last post by:
I realize this is the php group, but I have a question that recurses back to my php install. My objective is a pure 64 bit shared object installation of php 5.0 on UltraSparc Solaris 9 compiled...
2
by: Douglass Turner | last post by:
Hi, Please release me from my own private hell. Platform: SuSE 8.1 I'm installing python 2.3 tarball as follows: ../configure --enable-shared make
0
by: Joshua D. Drake | last post by:
Hello, There is now an updated version of plPerl with trigger support available at the Command Prompt community page. It can be viewed with documentation here:...
2
by: Christopher Murtagh | last post by:
Greetings, I'm trying to build 7.3.4 and I've come across two problems, one during the configure and the other afterward. Problem 1) Trying to build with openssl support gives this: ...
4
by: Ed L. | last post by:
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...
6
by: Gianni Mariani | last post by:
Before I go deep into this - does anyone have the quick fix for this ? Some facts - the 7.3.4 version of plperl.c has the same errors in the 7.4 tree. The 7.4 version of plperl.c (with some...
1
by: gilles.rayrat | last post by:
Hi, I am facing a weird issue: We are using a shared library (libcarob) that can throw exceptions. Everything goes well under most platforms, but under suse (SLES 9, gcc 3.3.3), we get a segfault...
5
by: David T. Ashley | last post by:
I've occasionally had trouble compiling and linking programs that use shared libraries. That never made a lot of sense to me, because I thought the operating system went hunting for the symbols...
0
by: rski | last post by:
I've installed postgres v. 8.2.4 with plperl support (--with-perl option with configure). But when I try to create plperl languge (createlang plperl) i've got an error createlang: language...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.