Problem creating a function
Hi all
Trying to create a function I get the following:
codex=# CREATE FUNCTION "bitvg" (integer,integer) RETURNS integer AS
'/home/database/pgdata/cobis/bitvg/bitvg.so', 'bitvg' LANGUAGE 'C';
ERROR: could not load library
"/home/database/pgdata/cobis/bitvg/bitvg.so":
/home/database/pgdata/cobis/bitvg/bitvg.so: Kann die
Shared-Object-Datei nicht ᅵffnen: Datei oder Verzeichnis nicht gefunden
in english: /home/database/pgdata/cobis/bitvg/bitvg.so: cannot open
shared object: file not found
The file does exist in the path /home/database/pgdata/cobis/bitvg/:
-rwxr-xr-x 1 root root 133 Jul 19 13:13 bitvg.c
-rwxr-xr-x 1 root root 782 Jul 19 13:13 bitvg.o
-rwxr-xr-x 1 root root 3198 Jul 19 13:13 bitvg.so
What do I miss?
Thank's in advance
Conni
--
http://pgsql.info | http://postgresql.de | http://pgfakt.de
Telefon: 07127 80 961
Cornelia Boenigk wrote:
The file does exist in the path /home/database/pgdata/cobis/bitvg/:
-rwxr-xr-x 1 root root 133 Jul 19 13:13 bitvg.c
-rwxr-xr-x 1 root root 782 Jul 19 13:13 bitvg.o
-rwxr-xr-x 1 root root 3198 Jul 19 13:13 bitvg.soWhat do I miss?
Does the postgres user have access to /home/database/pgdata/cobis/bitvg?
Try:
su postgres
cd /home/database/pgdata/cobis/bitvg
Joe
Hi Joe
Try:
su postgres
cd /home/database/pgdata/cobis/bitvg
Succeeds, ls -la shows all files in that directory and can open them
with less.
Regards
Conni
Cornelia Boenigk <c@cornelia-boenigk.de> writes:
in english: /home/database/pgdata/cobis/bitvg/bitvg.so: cannot open
shared object: file not found
The file does exist in the path /home/database/pgdata/cobis/bitvg/:
The "file not found" might be coming from the dynamic loader trying to
load some other library that bitvg.so depends upon. You should try "ldd"
or local equivalent on bitvg.so to check whether all its dependencies
can be found. Also, try looking in the postmaster log --- on some
platforms, dynamic loader failures spit additional information to stderr
that can't be reported to you by the backend, but will be captured in
the postmaster log file.
regards, tom lane
Hi Tom
You should try "ldd" or local equivalent on bitvg.so to check
whether all its dependencies can be found.
output:
ldd /home/database/pgdata/cobis/bitvg/bitvg.so
statically linked
Regards
Conni
Cornelia Boenigk wrote:
Hi Joe
Try:
su postgres
cd /home/database/pgdata/cobis/bitvgSucceeds, ls -la shows all files in that directory and can open them
with less.
Kind of odd, particularly given your reply to Tom's question in a nearby
post. Could it be an SELinux issue?
Joe
Joe Conway <mail@joeconway.com> writes:
Could it be an SELinux issue?
I'd really expect the strerror result to be something about 'permission
denied' rather than 'file not found', if that were the problem...
regards, tom lane