I was wanting to check out what was up with timezone handling with the
latest changes that were committed, as there had been some "biting" on
AIX. 

To wit, notice the default time zone on one of our AIX boxes:

bash-2.05a$ date 
Tue May 18 21:47:37 GDT 2004
bash-2.05a$ echo $TZ
CUT0GDT
bash-2.05a$ 

Ticket [redacted] describes what broke:
===========================================================================
Grr.  Led to errors because timezone was being treated as CUT0.

CUT0 may be _equivalent_ to GMT, but PostgreSQL isn't aware of it as
such, so inserts into the table epp_whois_cachemgr were failing with
much the same error message shown below:

template1=# select timestamptz(timeofday());
ERROR:  invalid input syntax for type timestamp with time zone: "Tue Apr
13 19:44:47.831616 2004 CUT"

1.  Changed ~/.profile to have PGTZ and TZ set to GMT

2.  Changed 7.4 instances to set the postgreSQL GUC variable
    "timezone" to GMT, and SIGHUPped them
===========================================================================

I was hoping to check this out on "latest 7.5 CVS" in order that if
there be a need to get any "CUT" support added, we can get that in
_early_ in the test cycle.  If it remains borken, I'll update the AIX
documentation to at least give the user 'fair warning' that this can
be a problem.

But the AIX compile is breaking, on pg_dump.  Evidently there's some
conflict of symbol names, though it doesn't look like it's due to new
changes.  "finfo" seems pretty unique to AIX...

bash-2.05a$ make
make -C ../../../src/interfaces/libpq all
make[1]: Entering directory `/opt/OXRS/Sources/pgsql-75cvs/src/interfaces/libpq'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/OXRS/Sources/pgsql-75cvs/src/interfaces/libpq'
make -C ../../../src/port all
make[1]: Entering directory `/opt/OXRS/Sources/pgsql-75cvs/src/port'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/OXRS/Sources/pgsql-75cvs/src/port'
make -C ../../../src/backend/parser keywords.o
make[1]: Entering directory `/opt/OXRS/Sources/pgsql-75cvs/src/backend/parser'
make[1]: `keywords.o' is up to date.
make[1]: Leaving directory `/opt/OXRS/Sources/pgsql-75cvs/src/backend/parser'
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../src/interfaces/libpq -I../../../src/include -I/opt/OXRS/supporting-packages/readline-4.2/include/ -I/opt/OXRS/supporting-packages/zlib-1.1.4/include/ -DFRONTEND  -c -o common.o common.c
common.c:54: error: `finfo' redeclared as different kind of symbol
/usr/include/unistd.h:722: error: previous declaration of `finfo'
common.c:54: warning: `finfo' was declared `extern' and later `static'
make: *** [common.o] Error 1

bash-2.05a$ grep finfo /usr/include/s*/*.h
/usr/include/sys/finfo.h:/* @(#)92      1.7  src/bos/kernel/sys/finfo.h, syslfs, bos510 7/18/00 17:04:32
/usr/include/sys/finfo.h:/* command parameters for finfo and ffinfo */
/usr/include/sys/finfo.h:int finfo(const char *, int, void *, int32long64_t);
/usr/include/sys/finfo.h:int ffinfo(int, int, void *, int32long64_t);
/usr/include/sys/finfo.h:int finfo();
/usr/include/sys/finfo.h:int ffinfo();
/usr/include/sys/vnode.h:       int     (*vn_finfo)(struct vnode *, int32long64_t, void *,
/usr/include/sys/vnode.h:       vnop_finfo(vp, cmd, p, len, ucred)
/usr/include/sys/vnode.h:vnop_finfo(
-- 
(reverse (concatenate 'string "gro.mca" "@" "enworbbc"))
http://cbbrowne.com/info/linuxdistributions.html
"I am a bomb technician. If you see me running, try to keep up..."

Wed, 19 May 2004 10:08:50 -0400
Chris Browne <cbbrowne@acm.org>
AIX Compilation Fun with 7.5 CVS

Your timezone testing will have to wait for the unix timezone code to be
added in a few days.

It is strange you are having this problem with finfo only in pg_dump
because it is used a lot in the backend.  Looking at the warning, it
looks like it doesn't like that 'static' specification.  If you remove
the 'static', is it OK?

---------------------------------------------------------------------------

Chris Browne wrote:
> ===========================================================================
> 
> I was hoping to check this out on "latest 7.5 CVS" in order that if
> there be a need to get any "CUT" support added, we can get that in
> _early_ in the test cycle.  If it remains borken, I'll update the AIX
> documentation to at least give the user 'fair warning' that this can
> be a problem.
> 
> But the AIX compile is breaking, on pg_dump.  Evidently there's some
> conflict of symbol names, though it doesn't look like it's due to new
> changes.  "finfo" seems pretty unique to AIX...
> 
> bash-2.05a$ make
> make -C ../../../src/interfaces/libpq all
> make[1]: Entering directory `/opt/OXRS/Sources/pgsql-75cvs/src/interfaces/libpq'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/opt/OXRS/Sources/pgsql-75cvs/src/interfaces/libpq'
> make -C ../../../src/port all
> make[1]: Entering directory `/opt/OXRS/Sources/pgsql-75cvs/src/port'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/opt/OXRS/Sources/pgsql-75cvs/src/port'
> make -C ../../../src/backend/parser keywords.o
> make[1]: Entering directory `/opt/OXRS/Sources/pgsql-75cvs/src/backend/parser'
> make[1]: `keywords.o' is up to date.
> make[1]: Leaving directory `/opt/OXRS/Sources/pgsql-75cvs/src/backend/parser'
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../src/interfaces/libpq -I../../../src/include -I/opt/OXRS/supporting-packages/readline-4.2/include/ -I/opt/OXRS/supporting-packages/zlib-1.1.4/include/ -DFRONTEND  -c -o common.o common.c
> common.c:54: error: `finfo' redeclared as different kind of symbol
> /usr/include/unistd.h:722: error: previous declaration of `finfo'
> common.c:54: warning: `finfo' was declared `extern' and later `static'
> make: *** [common.o] Error 1
> 
> bash-2.05a$ grep finfo /usr/include/s*/*.h
> /usr/include/sys/finfo.h:/* @(#)92      1.7  src/bos/kernel/sys/finfo.h, syslfs, bos510 7/18/00 17:04:32
> /usr/include/sys/finfo.h:/* command parameters for finfo and ffinfo */
> /usr/include/sys/finfo.h:int finfo(const char *, int, void *, int32long64_t);
> /usr/include/sys/finfo.h:int ffinfo(int, int, void *, int32long64_t);
> /usr/include/sys/finfo.h:int finfo();
> /usr/include/sys/finfo.h:int ffinfo();
> /usr/include/sys/vnode.h:       int     (*vn_finfo)(struct vnode *, int32long64_t, void *,
> /usr/include/sys/vnode.h:       vnop_finfo(vp, cmd, p, len, ucred)
> /usr/include/sys/vnode.h:vnop_finfo(

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Thu, 20 May 2004 13:09:35 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: AIX Compilation Fun with 7.5 CVS
Chris Browne <cbbrowne@acm.org> writes:
> CUT0 may be _equivalent_ to GMT, but PostgreSQL isn't aware of it as
> such, so inserts into the table epp_whois_cachemgr were failing with
> much the same error message shown below:

It will probably be more practical to fix this after Magnus' timezone
patch goes in.  Please try it again in a few days and report back.

> But the AIX compile is breaking, on pg_dump.  Evidently there's some
> conflict of symbol names, though it doesn't look like it's due to new
> changes.  "finfo" seems pretty unique to AIX...

I renamed the variable.

			regards, tom lane

Thu, 20 May 2004 13:15:28 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: AIX Compilation Fun with 7.5 CVS 
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> It is strange you are having this problem with finfo only in pg_dump
> because it is used a lot in the backend.

Yeah, but the other places are local variable names and so don't
conflict with a global function name.

			regards, tom lane

Thu, 20 May 2004 13:42:59 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: AIX Compilation Fun with 7.5 CVS 