Thread: Regression failing on build -> ERROR: could not access file "$libdir/plpgsql": No such file or directory

I'm getting this failure on compilation.  Could someone point me in the direction of a fix?

Thanks,
reid

System:  AIX 5.3
$ uname -a
AIX aix53-dev-1 3 5 000B357F4C00

Configuration params:
./configure --prefix=/usr/local/pgsql833 --without-readline --disable-shared

The Error:
...SNIP...
/usr/bin/gmake -C test/regress all
gmake[2]: Entering directory `/home/rthompso/postgresql-8.3.3/src/test/regress'
/usr/bin/gmake -C ../../../src/port all
gmake[3]: Entering directory `/home/rthompso/postgresql-8.3.3/src/port'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/home/rthompso/postgresql-8.3.3/src/port'
gmake[2]: stat:regress.so: There are too many levels of symbolic links to translate a path name.
rm -f regress.so
ln -s  regress.so
gmake[2]: stat:regress.so: There are too many levels of symbolic links to translate a path name.
/usr/bin/gmake -C ../../../contrib/spi refint.so autoinc.so
gmake[3]: Entering directory `/home/rthompso/postgresql-8.3.3/contrib/spi'
gmake[3]: `refint.so' is up to date.
gmake[3]: `autoinc.so' is up to date.
gmake[3]: Leaving directory `/home/rthompso/postgresql-8.3.3/contrib/spi'
rm -rf ./testtablespace
mkdir ./testtablespace
gmake[2]: Leaving directory `/home/rthompso/postgresql-8.3.3/src/test/regress'
gmake[1]: Leaving directory `/home/rthompso/postgresql-8.3.3/src'
/usr/bin/gmake -C config all
gmake[1]: Entering directory `/home/rthompso/postgresql-8.3.3/config'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/home/rthompso/postgresql-8.3.3/config'
All of PostgreSQL successfully made. Ready to install.
/usr/bin/gmake -C src/test check
gmake[1]: Entering directory `/home/rthompso/postgresql-8.3.3/src/test'
/usr/bin/gmake -C regress check
gmake[2]: Entering directory `/home/rthompso/postgresql-8.3.3/src/test/regress'
/usr/bin/gmake -C ../../../src/port all
gmake[3]: Entering directory `/home/rthompso/postgresql-8.3.3/src/port'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/home/rthompso/postgresql-8.3.3/src/port'
gmake[2]: stat:regress.so: There are too many levels of symbolic links to translate a path name.
rm -f regress.so
ln -s  regress.so
gmake[2]: stat:regress.so: There are too many levels of symbolic links to translate a path name.
/usr/bin/gmake -C ../../../contrib/spi refint.so autoinc.so
gmake[3]: Entering directory `/home/rthompso/postgresql-8.3.3/contrib/spi'
gmake[3]: `refint.so' is up to date.
gmake[3]: `autoinc.so' is up to date.
gmake[3]: Leaving directory `/home/rthompso/postgresql-8.3.3/contrib/spi'
rm -rf ./testtablespace
mkdir ./testtablespace
./pg_regress --temp-install=./tmp_check --top-builddir=../../..
--srcdir=/home/rthompso/postgresql-8.3.3/src/test/regress--temp-port=55432 --schedule=./parallel_schedule
--multibyte=SQL_ASCII--load-language=plpgsql    
============== removing existing temp installation    ==============
============== creating temporary installation        ==============
============== initializing database system           ==============
============== starting postmaster                    ==============
running on port 55432 with pid 618520
============== creating database "regression"         ==============
CREATE DATABASE
ALTER DATABASE
============== installing plpgsql                     ==============
ERROR:  could not access file "$libdir/plpgsql": No such file or directory
command failed: "/home/rthompso/postgresql-8.3.3/src/test/regress/./tmp_check/install//usr/local/pgsql833/bin/psql" -X
-c"CREATE LANGUAGE \"plpgsql\"" "regression" 
server stopped
gmake[2]: *** [check] Error 2
gmake[2]: Leaving directory `/home/rthompso/postgresql-8.3.3/src/test/regress'
gmake[1]: *** [check] Error 2
gmake[1]: Leaving directory `/home/rthompso/postgresql-8.3.3/src/test'
gmake: *** [check] Error 2
make: 1254-004 The error code from the last command is 2.


Stop.


the lib is getting built, but appears that it is not getting installed as part of the regression test
$ pwd
/home/rthompso/postgresql-8.3.3

[rthompso@ ]/home/rthompso/postgresql-8.3.3
$ find . -name \*plpgsql\*
./doc/src/sgml/plpgsql.sgml
./src/pl/plpgsql
./src/pl/plpgsql/src/plpgsql.h
./src/pl/plpgsql/src/libplpgsql.a
./src/test/regress/expected/plpgsql.out
./src/test/regress/sql/plpgsql.sql
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-overview.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-structure.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-declarations.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-expressions.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-statements.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-control-structures.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-cursors.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-errors-and-messages.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-trigger.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-implementation.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-development-tips.html
./src/test/regress/tmp_check/install/usr/local/pgsql833/doc/html/plpgsql-porting.html

$ pwd
/home/rthompso/postgresql-8.3.3/src/test/regress/tmp_check/install/usr/local/pgsql833

[rthompso@ ]/home/rthompso/postgresql-8.3.3/src/test/regress/tmp_check/install/usr/local/pgsql833
$ find . -name \*plpgsql\*
./doc/html/plpgsql.html
./doc/html/plpgsql-overview.html
./doc/html/plpgsql-structure.html
./doc/html/plpgsql-declarations.html
./doc/html/plpgsql-expressions.html
./doc/html/plpgsql-statements.html
./doc/html/plpgsql-control-structures.html
./doc/html/plpgsql-cursors.html
./doc/html/plpgsql-errors-and-messages.html
./doc/html/plpgsql-trigger.html
./doc/html/plpgsql-implementation.html
./doc/html/plpgsql-development-tips.html
./doc/html/plpgsql-porting.html




Reid Thompson <Reid.Thompson@ateb.com> writes:
> I'm getting this failure on compilation.  Could someone point me in the direction of a fix?

You probably ought to inquire into the cause of these:
> gmake[2]: stat:regress.so: There are too many levels of symbolic links to translate a path name.

Usually that indicates circular symlinking :-(.  You didn't show us the
part of the log about building plpgsql.so, but I'll bet it had the same
issue, whatever it is.

            regards, tom lane

On Fri, 2008-08-15 at 11:03 -0400, Tom Lane wrote:
> Reid Thompson Woulwrites:
> > I'm getting this failure on compilation.  Could someone point me in the direction of a fix?
>
> You probably ought to inquire into the cause of these:
> > gmake[2]: stat:regress.so: There are too many levels of symbolic links to translate a path name.
>
> Usually that indicates circular symlinking :-(.  You didn't show us the
> part of the log about building plpgsql.so, but I'll bet it had the same
> issue, whatever it is.
>
>             regards, tom lane

Would plpgsql.so get built with..

Configuration params:
./configure --prefix=/usr/local/pgsql833 --without-readline --disable-shared


I'll see if I can figure out the symbolic links recursion issue.

thanks,
reid


Reid Thompson <Reid.Thompson@ateb.com> writes:
> Would plpgsql.so get built with..

> ./configure --prefix=/usr/local/pgsql833 --without-readline --disable-shared
                                                              ^^^^^^^^^^^^^^^^

Uh, no.  That probably explains why regress.so didn't get built, either.

            regards, tom lane

On Fri, 2008-08-15 at 16:37 -0400, Tom Lane wrote:
> Reid Thompson <Reid.Thompson@ateb.com> writes:
> > Would plpgsql.so get built with..
>
> > ./configure --prefix=/usr/local/pgsql833 --without-readline --disable-shared
>                                                               ^^^^^^^^^^^^^^^^
>
> Uh, no.  That probably explains why regress.so didn't get built, either.
>
>             regards, tom lane

OK -- rebuilt without '--disable-shared', and
=======================
 All 114 tests passed.
=======================

1) Should the Docs note that '--disable-shared' will prevent the compile
time regression checks from running
2) Should the compilation note to the user that '--disable-shared' will
prevent compile time regression checks from running
3) should the error message output when regression fails for the above
reason not be along the lines of
        ...snip...
        gmake[2]: stat:regress.so: There are too many levels of symbolic links to translate a path name.
        rm -f regress.so
        ln -s  regress.so
        gmake[2]: stat:regress.so: There are too many levels of symbolic links to translate a path name.
        ...snip...
4) if '--disable-shared' is passed, should the user be notified that
compile time regression checks will be skipped ( and then skip them ).