Thread: Regresstion Tests do not find PGLIB directory

Regresstion Tests do not find PGLIB directory

From
Emily Carl
Date:
-----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-----

Re: Regresstion Tests do not find PGLIB directory

From
Peter Eisentraut
Date:
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/

Re: Regresstion Tests do not find PGLIB directory

From
Thomas Lockhart
Date:
> 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

Re: Regresstion Tests do not find PGLIB directory

From
Emily Carl
Date:
-----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-----

Re: Regresstion Tests do not find PGLIB directory

From
Peter Eisentraut
Date:
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/