Re: Various bugs with PG7.1 8th March snapshot on Solaris 8 INTEL - Mailing list pgsql-bugs
From | Peter Eisentraut |
---|---|
Subject | Re: Various bugs with PG7.1 8th March snapshot on Solaris 8 INTEL |
Date | |
Msg-id | Pine.LNX.4.30.0103131859360.2274-100000@peter.localdomain Whole thread Raw |
In response to | Various bugs with PG7.1 8th March snapshot on Solaris 8 INTEL (Justin Clift <jclift@iprimus.com.au>) |
Responses |
Re: Various bugs with PG7.1 8th March snapshot on Solaris 8 INTEL
|
List | pgsql-bugs |
Justin Clift writes: > When --with-openssl=<the path to my openssl dir> is given to configure > on Solaris 8 INTEL, the compilation errors in : This is an OpenSSL namespace problem on some platforms (Solaris, Unixware so far). Nothing we can really do about it. > Next problem is that running 'gmake check' expects to find the new > 'postgres' file in the normal PATH, not in the temporary installation > PATH. I deduce this from the ./src/test/regress/log/initdb.log file > which complains about not being able to find the 'postgres' file in the > installation location. > The program 'postgres' is needed by initdb but was not found in > the directory '/opt/postgresql71/bin'. Check your installation. Odd. The initdb program first tries the path that itself is in and then the path that it is *supposed* to be in: if echo "$0" | grep '/' > /dev/null 2>&1 then # explicit dir name given self_path=`echo $0 | sed 's,/[^/]*$,,'` # (dirname command is not portable) else # look for it in PATH ('which' command is not portable) for dir in `echo "$PATH" | sed 's/:/ /g'` do # empty entry in path means current dir [ -z "$dir" ] && dir='.' if [ -f "$dir/$CMDNAME" ] then self_path="$dir" break fi done fi The regression test script should always invoke the first case ($0 starts contains '/'). Apparently, in your case something went wrong there and it tries looking for it in PATH. Can you see why that is the case? (E.g, run gmake check SHELL='/bin/sh -x' or sh -x initdb.) > A third problem and solution is this misleading error message : > After investigating a bit futher, the reason for the error message was > really that I didn't have the path to the openssl library files in > LD_LIBRARY_PATH : > > $ initdb > The program '/opt/postgresql71/bin/postgres' needed by initdb does not > belong to PostgreSQL version 7.1beta5. Check your installation. > > $ cd /opt/postgresql71/bin > $ ./postgres -version > ld.so.1: ./postgres: fatal: libssl.so.0: open failed: No such file or > directory > Killed The problem here is that we can't really distinguish this failure from other failures (such as not implementing the --version option), so I don't know how to make the error message better. I suppose we could capture the stderr and print it to the screen. In fact, I'll try that. However, another way to view this problem is that the OpenSSL libraries weren't linked properly. > In the regression test side of things, Solaris 8 INTEL seems be having > troubles with handling int8 types. Not sure if this is a known > problem. The int8 tests failed with error messages like : > > INSERT INTO INT8_TBL VALUES('123','4567890123456789'); > + ERROR: int8 value out of range: "4567890123456789" Ugh. Did configure detect a working 64 bit integer? HAVE_LONG_INT_64 and HAVE_LONG_LONG_INT_64 should be defined in config.h. > if [ -e $dir/Makefile ]; then \ > make -C $dir clean; \ > fi; \ > done > /bin/sh: test: argument expected I see. 'test -e' is known to be missing on Solaris. Will fix. -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
pgsql-bugs by date: