Regresstion Tests do not find PGLIB directory

Started by Emily Carlabout 25 years ago5 messagesbugs
Jump to latest
#1Emily Carl
emilyac@wanet.net

-----BEGIN PGP SIGNED MESSAGE-----

The output of a src/test/regress/'make runtest' command puts out:

bash-2.04$ make runtest
MULTIBYTE=;export MULTIBYTE; \
/bin/sh ./regress.sh i586-pc-linux-gnu 2>&1 | tee regress.out
=============== Notes... =================
postmaster must already be running for the regression tests to succeed.
The time zone is set to PST8PDT for these tests by the client frontend.
Please report any apparent problems to ports@postgresql.org
See regress/README for more information.

=============== dropping old regression database... =================
DROP DATABASE
=============== creating new regression database... =================
CREATE DATABASE
=============== installing languages... =================
installing PL/pgSQL .. createlang: missing required argument PGLIB
directory
(This is the directory where the interpreter for the procedural
language is stored. Traditionally, these are installed in whatever
'lib' directory was specified at configure time.)
failed
ACTUAL RESULTS OF REGRESSION TEST ARE NOW IN FILE regress.out

To run the optional big test(s) too, type 'make bigtest'
These big tests can take over an hour to complete
These actually are: numeric_big

I have configured and made postgresql according to its INSTALL
instructions
on a RedHat 7 pc system.

I have added the appropriate line in /etc/ld.so.conf as suggested
pointing to
the lib directory under the postgresql installation. Such directory
does exist
and contains:

bash-2.04$ ls -al /export/home/postgres/postgresql-7.0.3/lib
total 1120
drwxrwxr-x 2 postgres postgres 4096 Feb 15 11:42 .
drwxr-xr-x 10 postgres postgres 4096 Feb 15 11:54 ..
- - -r--r--r-- 1 postgres postgres 628 Feb 15 11:40
global1.bki.source
- - -r--r--r-- 1 postgres postgres 0 Feb 15 11:40
global1.description
- - -rw-r--r-- 1 postgres postgres 37350 Feb 15 11:40 libecpg.a
lrwxrwxrwx 1 postgres postgres 16 Feb 15 11:40 libecpg.so ->
libecpg.so.3.1.1
lrwxrwxrwx 1 postgres postgres 16 Feb 15 11:40 libecpg.so.3 ->
libecpg.so.3.1.1
- - -rw-r--r-- 1 postgres postgres 29584 Feb 15 11:40 libecpg.so.3.1.1

- - -rw-r--r-- 1 postgres postgres 6548 Feb 15 11:40 libpgeasy.a
lrwxrwxrwx 1 postgres postgres 16 Feb 15 11:40 libpgeasy.so ->
libpgeasy.so.2.1
lrwxrwxrwx 1 postgres postgres 16 Feb 15 11:40 libpgeasy.so.2
- - -> libpgeasy.so.2.1
- - -rw-r--r-- 1 postgres postgres 7971 Feb 15 11:40 libpgeasy.so.2.1

- - -rw-r--r-- 1 postgres postgres 370626 Feb 15 11:40 libpq++.a
lrwxrwxrwx 1 postgres postgres 14 Feb 15 11:40 libpq++.so ->
libpq++.so.3.1
lrwxrwxrwx 1 postgres postgres 14 Feb 15 11:40 libpq++.so.3 ->
libpq++.so.3.1
- - -rw-r--r-- 1 postgres postgres 197278 Feb 15 11:40 libpq++.so.3.1
- - -rw-r--r-- 1 postgres postgres 66378 Feb 15 11:40 libpq.a
lrwxrwxrwx 1 postgres postgres 12 Feb 15 11:40 libpq.so ->
libpq.so.2.1
lrwxrwxrwx 1 postgres postgres 12 Feb 15 11:40 libpq.so.2 ->
libpq.so.2.1
- - -rw-r--r-- 1 postgres postgres 59319 Feb 15 11:40 libpq.so.2.1
- - -r--r--r-- 1 postgres postgres 183974 Feb 15 11:40
local1_template1.bki.source
- - -r--r--r-- 1 postgres postgres 24692 Feb 15 11:40
local1_template1.description
- - -r--r--r-- 1 postgres postgres 3407 Feb 15 11:40 pg_geqo.sample
- - -r--r--r-- 1 postgres postgres 5729 Feb 15 11:40
pg_hba.conf.sample
- - -r--r--r-- 1 postgres postgres 882 Feb 15 11:40
pg_ident.conf.sample
- - -r--r--r-- 1 postgres postgres 7643 Feb 15 11:40
pg_options.sample
- - -rw-r--r-- 1 postgres postgres 72567 Feb 15 11:42 plpgsql.so
- - -r--r--r-- 1 postgres postgres 1 Feb 15 11:42
postmaster.opts.default.sample

I have configured postgress with and without a --libdir definition and
the
get the same result on the regression testing attempts.

The src/test/regress/run_check.sh sets PGLIB="$LIBDIR" but I have not
been able to figure out how $LIBDIR should have been set, whereas now
it seems not to be set. I have not been able to find any reference to
PGLIB
in the postgresql documentation.

Any assistance would greatly be appreciated.

Emily.
Software Design Associates, Inc.

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBOow8G7qabQcdIDyxAQHeOQP5AbmkXVkj9mRHZ8tkdKBQvJtRUJzZ0DDz
Vo7IeZ2Avh0VjPaPBomsuYbnsMjMNikavx3j4Xi7nL8020JFdA83sOE/R2Xq2SPw
D4d+k00Di0ku8Mm6taS/50OB/AFC/oFxfh7XsVTGNvzPhbs76903TF2YnGC8Vkgi
couGMnR98wE=
=21R2
-----END PGP SIGNATURE-----

#2Thomas Lockhart
lockhart@alumni.caltech.edu
In reply to: Emily Carl (#1)
Re: Regresstion Tests do not find PGLIB directory

I have configured and made postgresql according to its INSTALL
instructions on a RedHat 7 pc system.
I have added the appropriate line in /etc/ld.so.conf as suggested
pointing to the lib directory under the postgresql installation.

You need to run ldconfig to actually update the shared library database.
Or reboot, since usually ldconfig is run at boot time.

Did the instructions mention /etc/ld.so.conf but not ldconfig? Perhaps
you can suggest where in the docs we can make it clearer, or better yet,
perhaps you can send patches for the doc/src/sgml/*.sgml files.

- Thomas

#3Peter Eisentraut
peter_e@gmx.net
In reply to: Emily Carl (#1)
Re: Regresstion Tests do not find PGLIB directory

Emily Carl writes:

The output of a src/test/regress/'make runtest' command puts out:

installing PL/pgSQL .. createlang: missing required argument PGLIB
directory
(This is the directory where the interpreter for the procedural
language is stored. Traditionally, these are installed in whatever
'lib' directory was specified at configure time.)
failed
ACTUAL RESULTS OF REGRESSION TEST ARE NOW IN FILE regress.out

The src/test/regress/run_check.sh sets PGLIB="$LIBDIR" but I have not
been able to figure out how $LIBDIR should have been set, whereas now
it seems not to be set. I have not been able to find any reference to
PGLIB
in the postgresql documentation.

LIBDIR should be in src/Makefile.global. What does it say there?

--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/

#4Emily Carl
emilyac@wanet.net
In reply to: Peter Eisentraut (#3)
Re: Regresstion Tests do not find PGLIB directory

-----BEGIN PGP SIGNED MESSAGE-----

Emily Carl writes:

The output of a src/test/regress/'make runtest' command puts out:

installing PL/pgSQL .. createlang: missing required argument PGLIB
directory
(This is the directory where the interpreter for the procedural
language is stored. Traditionally, these are installed in whatever
'lib' directory was specified at configure time.)
failed
ACTUAL RESULTS OF REGRESSION TEST ARE NOW IN FILE regress.out

The src/test/regress/run_check.sh sets PGLIB="$LIBDIR" but I have not
been able to figure out how $LIBDIR should have been set, whereas now
it seems not to be set. I have not been able to find any reference to
PGLIB
in the postgresql documentation.

Peter Eisentraut wrote:

LIBDIR should be in src/Makefile.global. What does it say there?

src/Makefile.global contains:

POSTGRESDIR= /export/home/postgres/postgresql-7.0.3

# Where the postgres executables live (changeable by just putting them
# somewhere else and putting that directory in your shell PATH)
BINDIR= $(POSTGRESDIR)/bin

# Where libpq.a gets installed. You must put it where your loader will
# look for it if you wish to use the -lpq convention. Otherwise you
# can just put the absolute pathname to the library at the end of your
# command line.
LIBDIR= $(POSTGRESDIR)/lib

Does this definition come in to play in the make done down
in the src/test/regress directory? src/test/regress/README
Instructions state:
" To prepare for regression testing, do "make all" in the regression test
directory. This compiles a 'C' program with PostgreSQL extension functions
..."

- From what I am seeing, it does not. I have not added any
definitions of LD_LIBRARY_PATH or LIBDIR elsewhere such as in the
/etc/profile file (did make the suggested entry in the /etc/ld.so.conf).

Thomas Lockhart wrote:

You need to run ldconfig to actually update the shared library database.
Or reboot, since usually ldconfig is run at boot time.

Did run ldconfig.

Did the instructions mention /etc/ld.so.conf but not ldconfig? Perhaps
you can suggest where in the docs we can make it clearer, or better yet,
perhaps you can send patches for the doc/src/sgml/*.sgml files.

Instructions correctly say to run ldconfig after editing /etc/ld.so.conf.
No doc changes on ldconfig are needed.

Emily.
Software Design Associates, Inc.

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBOo2bubqabQcdIDyxAQGuMgP/bnVl4DqZMLEujZnpFp1Ai2ESRHRP32cJ
vT7ArcR+JzVI3ms+hx7joWX60CVW5ViiKmspmv5At8B3+At0o/C1P3tO3SRWRoN0
pOuQMCgiyob6V65wgsol7G1UgdghYRdSN6s8+XEcFpEC1qFaR3o8AGmn3NVfb5sb
dtMOGGobBSY=
=Ul9j
-----END PGP SIGNATURE-----

#5Peter Eisentraut
peter_e@gmx.net
In reply to: Emily Carl (#4)
Re: Regresstion Tests do not find PGLIB directory

Emily Carl writes:

src/Makefile.global contains:

POSTGRESDIR= /export/home/postgres/postgresql-7.0.3

# Where the postgres executables live (changeable by just putting them
# somewhere else and putting that directory in your shell PATH)
BINDIR= $(POSTGRESDIR)/bin

# Where libpq.a gets installed. You must put it where your loader will
# look for it if you wish to use the -lpq convention. Otherwise you
# can just put the absolute pathname to the library at the end of your
# command line.
LIBDIR= $(POSTGRESDIR)/lib

Does this definition come in to play in the make done down
in the src/test/regress directory? src/test/regress/README

It should, unless you have a sufficiently odd version of GNU make.

Instructions state:
" To prepare for regression testing, do "make all" in the regression test
directory. This compiles a 'C' program with PostgreSQL extension functions
..."

- From what I am seeing, it does not.

What exactly are you seeing that makes you believe that?

I have not added any

definitions of LD_LIBRARY_PATH or LIBDIR elsewhere such as in the
/etc/profile file (did make the suggested entry in the /etc/ld.so.conf).

This issue has absolutely nothing to do with the dynamic linker.

--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/