Sorry, that was not the verbatim message, (a cut & paste mistake).

More information (9.0.8):

$ pg_ctl start
Killed
fgets failure: Error 0
The program "postgres" is needed by pg_ctl but was not found in the
same directory as "/opt/postgres/9.0/bin/pg_ctl".
Check your installation.

$ postgres -V
ld.so.1: postgres: fatal: libc.so.1: version `SUNW_1.22.7' not found (required 
by file /opt/postgres/9.0/bin/postgres)
ld.so.1: postgres: fatal: /usr/lib/libc.so.1: wrong ELF class: ELFCLASS32
Killed

$ ldd /opt/postgres/9.0/bin/postgres
        libssl.so.0.9.8 =>       /opt/postgres/externalDeps/lib/libssl.so.0.9.8
        libcrypto.so.0.9.8 =>    
/opt/postgres/externalDeps/lib/libcrypto.so.0.9.8
        libnsl.so.1 =>   /lib/64/libnsl.so.1
        libsocket.so.1 =>        /lib/64/libsocket.so.1
        libm.so.2 =>     /lib/64/libm.so.2
        libldap-2.4.so.2 =>      /opt/postgres/externalDeps/lib/libldap-2.4.so.2
        libc.so.1 =>     /lib/64/libc.so.1
        libc.so.1 (SUNW_1.22.7) =>       (version not found)
        libdl.so.1 =>    /lib/64/libdl.so.1
        libgcc_s.so.1 =>         /usr/sfw/lib/64/libgcc_s.so.1
        libmp.so.2 =>    /lib/64/libmp.so.2
        libmd.so.1 =>    /lib/64/libmd.so.1
        libscf.so.1 =>   /lib/64/libscf.so.1
        liblber-2.4.so.2 =>      /opt/postgres/externalDeps/lib/liblber-2.4.so.2
        libresolv.so.2 =>        /lib/64/libresolv.so.2
        libgen.so.1 =>   /lib/64/libgen.so.1
        libsasl.so.1 =>  /usr/lib/64/libsasl.so.1
        libgss.so.1 =>   /usr/lib/64/libgss.so.1
        libdoor.so.1 =>  /lib/64/libdoor.so.1
        libuutil.so.1 =>         /lib/64/libuutil.so.1
        libcmd.so.1 =>   /lib/64/libcmd.so.1
        /platform/SUNW,Sun-Fire-V890/lib/sparcv9/libc_psr.so.1
        /platform/SUNW,Sun-Fire-V890/lib/sparcv9/libmd_psr.so.1


*******
9.0.4 for comparison:

$ postgres -V
postgres (PostgreSQL) 9.0.4

$ ldd /opt/postgres/9.0/bin/postgres
        libssl.so.0.9.8 =>       /opt/postgres/externalDeps/lib/libssl.so.0.9.8
        libcrypto.so.0.9.8 =>    
/opt/postgres/externalDeps/lib/libcrypto.so.0.9.8
        libnsl.so.1 =>   /lib/64/libnsl.so.1
        librt.so.1 =>    /lib/64/librt.so.1
        libsocket.so.1 =>        /lib/64/libsocket.so.1
        libm.so.2 =>     /lib/64/libm.so.2
        libldap-2.4.so.2 =>      /opt/postgres/externalDeps/lib/libldap-2.4.so.2
        libc.so.1 =>     /lib/64/libc.so.1
        libdl.so.1 =>    /lib/64/libdl.so.1
        libgcc_s.so.1 =>         /usr/sfw/lib/64/libgcc_s.so.1
        libmp.so.2 =>    /lib/64/libmp.so.2
        libmd.so.1 =>    /lib/64/libmd.so.1
        libscf.so.1 =>   /lib/64/libscf.so.1
        libaio.so.1 =>   /lib/64/libaio.so.1
        liblber-2.4.so.2 =>      /opt/postgres/externalDeps/lib/liblber-2.4.so.2
        libresolv.so.2 =>        /lib/64/libresolv.so.2
        libgen.so.1 =>   /lib/64/libgen.so.1
        libsasl.so.1 =>  /usr/lib/64/libsasl.so.1
        libgss.so.1 =>   /usr/lib/64/libgss.so.1
        libdoor.so.1 =>  /lib/64/libdoor.so.1
        libuutil.so.1 =>         /lib/64/libuutil.so.1
        libcmd.so.1 =>   /lib/64/libcmd.so.1
        /platform/SUNW,Sun-Fire-V890/lib/sparcv9/libc_psr.so.1
        /platform/SUNW,Sun-Fire-V890/lib/sparcv9/libmd_psr.so.1



Thank you for helping to point out where the actual problem lies.  The ldd 
command is showing that there is a library issue with trying to use the 9.0.8 
version.

        libc.so.1 =>     /lib/64/libc.so.1
        libc.so.1 (SUNW_1.22.7) =>       (version not found)

Richard

-----Original Message-----
From: Tom Lane [mailto:t...@sss.pgh.pa.us] 
Sent: Friday, July 27, 2012 1:21 PM
To: Stephan, Richard
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] fgets failure in Solaris after patching

"Stephan, Richard" <rstep...@nyiso.com> writes:
> Rebuilt the PostgreSQL server software because we were patching up from 9.0.4 
> to 9.0.8.  Deployed software and received the following error when trying to 
> restart server.
> fgets failure: Error 0
> The program postgres is needed by pg_ctl but was not found in the same 
> directory as pg_ctl

Is that a verbatim copy of the error message?  When I try intentionally 
provoking this type of failure (by renaming the postgres executable out of the 
way), 9.0 pg_ctl gives me this:

$ pg_ctl start
The program "postgres" is needed by pg_ctl but was not found in the same 
directory as "/home/tgl/version90/bin/pg_ctl".
Check your installation.
$ 

The lack of double quotes and the lack of a full path to the pg_ctl program 
make me wonder if you're running some really old copy of pg_ctl instead of the 
9.0 version as intended.

Anyway, if you didn't copy-and-paste exactly, what the error indicates is that 
pg_ctl tried to execute "postgres -V" and didn't get any output.
What happens when you try that directly?

                        regards, tom lane
The information in this email is confidential and may be legally privileged 
against disclosure other than to the intended recipient. It is intended solely 
for the addressee. Access to this email by anyone else is unauthorized. If you 
are not the intended recipient, any disclosure, copying, distribution or any 
action taken or omitted to be taken in reliance on it, is prohibited and may be 
unlawful. Please immediately delete this message and inform the sender of this 
error. 


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to