Thread: Regresstion Tests do not find PGLIB directory
-----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-----
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/
> 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
-----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-----
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/