Bottom line:  7.1RC1 passes most of the regression tests on 
NetBSD/macppc.  It's probably good enough for normal use since the 
differences are not extensive, but someone would need to look at the 
diff's for longer than the 10 seconds or so I've spent so far, and 
someone should actually set it up for real use to check that.

I used the vanilla tarball from postgresql.org, not the NetBSD package system.

Details:  It's clearly less clean than the OS X build.  Also my G4 
desktop runs rings around both a Sun Ultra 1 and the 8500 I have 
NetBSD on for stuff like this build.

I'm actually reevaluating how much I want to keep running real open 
source OS's vs the partly open MacOS X when both the OS and this 
application runs so much cleaner on the most recent (fastest) 
hardware.  I like Apple stuff, but I never thought I would be this 
impressed with OS X this quickly.  I guess I should shut up now or 
risk a flame war since the point is the PG port quality and not how 
good the target platform is.

>% gmake check
>gmake -C ../../../contrib/spi REFINT_VERBOSE=1 refint.so autoinc.so
>gmake[1]: Entering directory `/usr/local/dist/postgresql-7.1RC1/contrib/spi'
>gmake[1]: `refint.so' is up to date.
>gmake[1]: `autoinc.so' is up to date.
>gmake[1]: Leaving directory `/usr/local/dist/postgresql-7.1RC1/contrib/spi'
>/bin/sh ./pg_regress --temp-install --top-builddir=../../.. 
>--schedule=./parallel_schedule --multibyte=
>============== removing existing temp installation    ==============
>============== creating temporary installation        ==============
>============== initializing database system           ==============
>============== starting postmaster                    ==============
>running on port 65432 with pid 21643
>============== creating database "regression"         ==============
>CREATE DATABASE
>============== installing PL/pgSQL                    ==============
>============== running regression test queries        ==============
>parallel group (13 tests):  text float4 varchar oid int2 char 
>boolean int4 int8 name float8 bit numeric
>     boolean              ... ok
>     char                 ... ok
>     name                 ... ok
>     varchar              ... ok
>     text                 ... ok
>     int2                 ... ok
>     int4                 ... ok
>     int8                 ... ok
>     oid                  ... ok
>     float4               ... ok
>     float8               ... ok
>     bit                  ... ok
>     numeric              ... ok
>test strings              ... ok
>test numerology           ... ok
>parallel group (18 tests):  path interval date time circle reltime 
>box lseg abstime inet point comments tinterval polygon timestamp 
>type_sanity oidjoins opr_sanity
>     point                ... ok
>     lseg                 ... ok
>     box                  ... ok
>     path                 ... ok
>     polygon              ... ok
>     circle               ... ok
>     date                 ... ok
>     time                 ... ok
>     timestamp            ... ok
>     interval             ... ok
>     abstime              ... ok
>     reltime              ... ok
>     tinterval            ... ok
>     inet                 ... ok
>     comments             ... ok
>     oidjoins             ... ok
>     type_sanity          ... ok
>     opr_sanity           ... ok
>test geometry             ... FAILED
>test horology             ... FAILED
>test create_function_1    ... ok
>test create_type          ... ok
>test create_table         ... ok
>test create_function_2    ... ok
>test copy                 ... ok
>parallel group (7 tests):  create_operator create_aggregate inherit 
>triggers constraints create_misc create_index
>     constraints          ... ok
>     triggers             ... ok
>     create_misc          ... ok
>     create_aggregate     ... ok
>     create_operator      ... ok
>     create_index         ... ok
>     inherit              ... ok
>test create_view          ... ok
>test sanity_check         ... ok
>test errors               ... ok
>test select               ... ok
>parallel group (16 tests):  arrays select_having select_distinct 
>transactions random portals select_into union select_distinct_on 
>select_implicit case subselect aggregates btree_index join hash_index
>     select_into          ... ok
>     select_distinct      ... ok
>     select_distinct_on   ... ok
>     select_implicit      ... ok
>     select_having        ... ok
>     subselect            ... ok
>     union                ... ok
>     case                 ... ok
>     join                 ... ok
>     aggregates           ... ok
>     transactions         ... ok
>     random               ... ok
>     portals              ... ok
>     arrays               ... ok
>     btree_index          ... ok
>     hash_index           ... ok
>test misc                 ... ok
>parallel group (5 tests):  portals_p2 alter_table foreign_key 
>select_views rules
>     select_views         ... ok
>     alter_table          ... ok
>     portals_p2           ... ok
>     rules                ... ok
>     foreign_key          ... ok
>parallel group (3 tests):  temp limit plpgsql
>     limit                ... ok
>     plpgsql              ... ok
>     temp                 ... ok
>============== shutting down postmaster               ==============
>
>=======================
> 2 of 76 tests failed.
>=======================
>
>The differences that caused some tests to fail can be viewed in the
>file `./regression.diffs'.  A copy of the test summary that you see
>above is saved in the file `./regression.out'.

The diff is:
>*** ./expected/geometry-positive-zeros.out      Tue Sep 12 14:07:16 2000
>--- ./results/geometry.out      Thu Apr  5 08:29:58 2001
>***************
>*** 445,451 ****
> 
>-----+---------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>-------------------------------------
>       | 
>((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.5980 
>7621135842),(1.53102359017709e-11,3),(1.50000000001768,2.5980762113431 
>1),(2.59807621136607,1.4999999999779),(3,-3.06204718035418e-11),(2.598 
>07621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(- 
>4.59307077053127e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807 
>621138138,-1.49999999995138))
>       | 
>((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.60 
>2540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036) 
>,(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.602540 
>3778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999 
>999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.602540379 
>3795,-47.9999999983795))
>!      | 
>((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301 
>270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5 
>.33012701894346,5.49999999996317),(6,2.99999999994897),(5.330127018892 
>42,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.99999999 
>9923449,-2),(-1.50000000007366,-1.33012701887967),(-3.33012701896897,0 
>.500000000081028))
>       | 
>((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.598 
>07621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311), 
>(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133 
>545,0.499999999969062),(2.49999999996464,-0.598076211373729),(0.999999 
>999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.598076211381 
>38,0.500000000048616))
>       | 
>((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.66 
>0254037861),(100.000000000051,210),(105.000000000059,208.66025403781), 
>(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254 
>037785,194.999999999897),(104.999999999882,191.339745962088),(99.99999 
>99998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,19 
>5.000000000162))
>       | 
>((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540 
>378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186 
>.602540378869,49.9999999992634),(200,-1.02068239345139e-09),(186.60254 
>0377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.99 
>9999998469,-100),(49.9999999985268,-86.6025403775933),(13.397459620620 
>5,-49.9999999983795))
>--- 445,451 ----
> 
>-----+---------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>-------------------------------------
>       | 
>((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.5980 
>7621135842),(1.53102359017709e-11,3),(1.50000000001768,2.5980762113431 
>1),(2.59807621136607,1.4999999999779),(3,-3.06204718035418e-11),(2.598 
>07621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(- 
>4.59307077053127e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807 
>621138138,-1.49999999995138))
>       | 
>((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.60 
>2540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036) 
>,(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.602540 
>3778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999 
>999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.602540379 
>3795,-47.9999999983795))
>!      | 
>((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301 
>270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5 
>.33012701894346,5.49999999996317),(6,2.99999999994897),(5.330127018892 
>42,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.99999999 
>9923449,-2),(-1.50000000007366,-1.33012701887966),(-3.33012701896897,0 
>.500000000081027))
>       | 
>((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.598 
>07621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311), 
>(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133 
>545,0.499999999969062),(2.49999999996464,-0.598076211373729),(0.999999 
>999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.598076211381 
>38,0.500000000048616))
>       | 
>((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.66 
>0254037861),(100.000000000051,210),(105.000000000059,208.66025403781), 
>(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254 
>037785,194.999999999897),(104.999999999882,191.339745962088),(99.99999 
>99998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,19 
>5.000000000162))
>       | 
>((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540 
>378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186 
>.602540378869,49.9999999992634),(200,-1.02068239345139e-09),(186.60254 
>0377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.99 
>9999998469,-100),(49.9999999985268,-86.6025403775933),(13.397459620620 
>5,-49.9999999983795))
>
>======================================================================
>
>*** ./expected/horology.out     Sun Dec  3 06:51:11 2000
>--- ./results/horology.out      Thu Apr  5 08:30:01 2001
>***************
>*** 122,128 ****
>  SELECT time with time zone '01:30' + interval '02:01' AS "03:31:00-08";
>   03:31:00-08
>  -------------
>!  03:31:00-08
>  (1 row)
>
>  SELECT time with time zone '01:30-08' - interval '02:01' AS "23:29:00-08";
>--- 122,128 ----
>  SELECT time with time zone '01:30' + interval '02:01' AS "03:31:00-08";
>   03:31:00-08
>  -------------
>!  03:31:00-07
>  (1 row)
>
>  SELECT time with time zone '01:30-08' - interval '02:01' AS "23:29:00-08";
>***************
>*** 140,146 ****
>  SELECT time with time zone '03:30' + interval '1 month 04:01' AS 
>"07:31:00-08";
>   07:31:00-08
>  -------------
>!  07:31:00-08
>  (1 row)
>
>  SELECT interval '04:30' - time with time zone '01:02' AS "+03:28";
>--- 140,146 ----
>  SELECT time with time zone '03:30' + interval '1 month 04:01' AS 
>"07:31:00-08";
>   07:31:00-08
>  -------------
>!  07:31:00-07
>  (1 row)
>
>  SELECT interval '04:30' - time with time zone '01:02' AS "+03:28";
>
>======================================================================
>


During the build I got these ugly, but presumably harmless complaints:

>gmake[4]: Entering directory 
>`/usr/local/dist/postgresql-7.1RC1/src/pl/plpgsql/src'
>gcc -c -I. -I../../../../src/include  -O2 -pipe -Wall 
>-Wmissing-prototypes -Wmissing-declarations -fpic -DPIC -o 
>pl_parse.o pl_gram.c
>lex.plpgsql_yy.c: In function `plpgsql_yylex':
>lex.plpgsql_yy.c:971: warning: label `find_rule' defined but not used
>lex.plpgsql_yy.c: At top level:
>lex.plpgsql_yy.c:2223: warning: `plpgsql_yy_flex_realloc' defined but not used

in a few places, and

>gcc -O2 -pipe -Wall -Wmissing-prototypes -Wmissing-declarations 
>-I../../../src/interfaces/libpq -I../../../src/include   -c -o 
>tab-complete.o tab-complete.c
>tab-complete.c: In function `initialize_readline':
>tab-complete.c:103: warning: assignment from incompatible pointer type
>tab-complete.c: In function `psql_completion':
>tab-complete.c:292: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:296: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:301: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:309: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:320: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:325: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:332: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:337: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:342: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:347: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:350: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:366: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:371: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:378: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:381: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:392: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:400: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:406: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:410: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:413: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:420: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:423: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:429: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:435: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:440: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:448: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:455: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:460: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:465: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:473: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:478: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:490: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:493: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:496: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:506: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:514: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:521: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:532: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:541: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:545: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:553: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:556: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:559: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:569: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:572: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:578: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:582: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:587: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:592: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:599: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:604: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:606: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:608: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:619: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:622: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:626: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:634: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:640: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:646: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:651: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:660: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:666: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:672: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:678: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:682: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:687: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:690: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:698: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:702: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:704: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:709: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:714: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:716: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:718: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:725: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:749: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:763: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>gcc -O2 -pipe -Wall -Wmissing-prototypes -Wmissing-declarations 
>command.o common.o help.o input.o stringutils.o mainloop.o copy.o 
>startup.o prompt.o variables.o large_obj.o print.o describe.o 
>tab-complete.o -L../../../src/interfaces/libpq -lpq 
>-Wl,-R/usr/local/lib -lz -lcrypt -lresolv -lcompat -lm -lutil -ledit 
>-ltermcap  -o psql
>gmake[3]: Leaving directory `/usr/local/dist/postgresql-7.1RC1/src/bin/psql'

Great work as always.  It's been nice to see the progressive 
improvement in the portability and quality of the DBMS over the years.


Signature held pending an ISO 9000 compliant
signature design and approval process.
h.b.hotz@jpl.nasa.gov, or hbhotz@oxy.edu

Thu, 5 Apr 2001 16:15:20 -0700
"Henry B. Hotz" <hotz@jpl.nasa.gov>
Re: Call for platforms
> Bottom line:  7.1RC1 passes most of the regression tests on
> NetBSD/macppc.  It's probably good enough for normal use since the
> differences are not extensive, but someone would need to look at the
> diff's for longer than the 10 seconds or so I've spent so far, and
> someone should actually set it up for real use to check that.

I'll mark it as supported; the horology diffs are not significant and
geometry is known to be a bit different on some platforms.

Including the not-tested-for-7.1 NetBSD/m68k, we are supported on 30
platforms for the upcoming release, with definite potential for a couple
of more (QNX and Ultrix).

*That* is some sort of milestone! :))

                    - Thomas

Fri, 06 Apr 2001 05:29:28 +0000
Thomas Lockhart <lockhart@alumni.caltech.edu>
Re: Call for platforms
"Henry B. Hotz" <hotz@jpl.nasa.gov> writes:
> Bottom line:  7.1RC1 passes most of the regression tests on 
> NetBSD/macppc.

The only thing that surprised me here was all of the warnings from
libreadline calls:

>> tab-complete.c: In function `initialize_readline':
>> tab-complete.c:103: warning: assignment from incompatible pointer type
>> tab-complete.c: In function `psql_completion':
>> tab-complete.c:292: warning: passing arg 2 of `completion_matches' 
>> from incompatible pointer type
>> tab-complete.c:296: warning: passing arg 2 of `completion_matches' 
>> from incompatible pointer type

What version of libreadline do you have installed, and how does it
declare completion_matches()?

			regards, tom lane

Fri, 06 Apr 2001 01:50:59 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Re: Call for platforms 

If somethings happen this weekend, I *MAY* have a HP9000/433s (M68K) 
running NetBSD to play with....

Not enough to hold up the release, but...

LER

>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<

On 4/6/01, 12:29:28 AM, Thomas Lockhart <lockhart@alumni.caltech.edu> wrote 
regarding [HACKERS] Re: Call for platforms:


> > Bottom line:  7.1RC1 passes most of the regression tests on
> > NetBSD/macppc.  It's probably good enough for normal use since the
> > differences are not extensive, but someone would need to look at the
> > diff's for longer than the 10 seconds or so I've spent so far, and
> > someone should actually set it up for real use to check that.

> I'll mark it as supported; the horology diffs are not significant and
> geometry is known to be a bit different on some platforms.

> Including the not-tested-for-7.1 NetBSD/m68k, we are supported on 30
> platforms for the upcoming release, with definite potential for a couple
> of more (QNX and Ultrix).

> *That* is some sort of milestone! :))

>                     - Thomas

> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?

> http://www.postgresql.org/users-lounge/docs/faq.html

Fri, 06 Apr 2001 19:10:21 GMT
Larry Rosenman <ler@lerctr.org>
Re: Re: Call for platforms
> If somethings happen this weekend, I *MAY* have a HP9000/433s (M68K)
> running NetBSD to play with....

That would be great. I *know* that there are some m68k machines around
somewhere on this planet, and it would be a shame to not have NetBSD
tested for the release...

                       - Thomas

Fri, 06 Apr 2001 20:37:06 +0000
Thomas Lockhart <lockhart@alumni.caltech.edu>
Re: Re: Call for platforms
At 1:50 AM -0400 4/6/01, Tom Lane wrote:
>"Henry B. Hotz" <hotz@jpl.nasa.gov> writes:
> > Bottom line:  7.1RC1 passes most of the regression tests on
> > NetBSD/macppc.
>
>The only thing that surprised me here was all of the warnings from
>libreadline calls:
>
> >> tab-complete.c: In function `initialize_readline':
> >> tab-complete.c:103: warning: assignment from incompatible pointer type
> >> tab-complete.c: In function `psql_completion':
> >> tab-complete.c:292: warning: passing arg 2 of `completion_matches'
> >> from incompatible pointer type
> >> tab-complete.c:296: warning: passing arg 2 of `completion_matches'
> >> from incompatible pointer type
>
>What version of libreadline do you have installed, and how does it
>declare completion_matches()?

I have whatever is standard on NetBSD 1.5.  I noticed that configure 
found a readline.h include file, but NetBSD doesn't integrate the 
current GNU implementation.  I did not do a test of psql to see if 
the feature worked.

I'm sure you could "fix" this problem if you installed GNU readline 
and referenced it in the build.  Since Solaris had even worse issues 
with needing GNU support utilities installed this didn't seem like a 
big deal to me.  OTOH it could confuse a new user.


Signature held pending an ISO 9000 compliant
signature design and approval process.
h.b.hotz@jpl.nasa.gov, or hbhotz@oxy.edu

Mon, 9 Apr 2001 11:41:55 -0700
"Henry B. Hotz" <hotz@jpl.nasa.gov>
Re: Re: Call for platforms

> At 1:50 AM -0400 4/6/01, Tom Lane wrote:
> >"Henry B. Hotz" <hotz@jpl.nasa.gov> writes:
> > > Bottom line:  7.1RC1 passes most of the regression tests on
> > > NetBSD/macppc.
> >
> >The only thing that surprised me here was all of the warnings from
> >libreadline calls:
> >
> > >> tab-complete.c: In function `initialize_readline':
> > >> tab-complete.c:103: warning: assignment from incompatible pointer type
> > >> tab-complete.c: In function `psql_completion':
> > >> tab-complete.c:292: warning: passing arg 2 of `completion_matches'
> > >> from incompatible pointer type
> > >> tab-complete.c:296: warning: passing arg 2 of `completion_matches'
> > >> from incompatible pointer type
> >
> >What version of libreadline do you have installed, and how does it
> >declare completion_matches()?

$ uname -srm
NetBSD 1.5 i386
$ grep CPFunction /usr/include/readline.h
typedef char   *CPFunction __P((const char *, int));
extern CPFunction  *rl_completion_entry_function;
char **completion_matches __P((const char *, CPFunction *));

Putting the 'const' in the relevant PostgreSQL functions (diff against
7.1RC3 below) removes these warnings.  I don't know what that does on
a machine using GNU readline ... I can check that in a day or two if
anyone's interested.

The NetBSD libedit-emulating-readline works just fine with psql even
without the warnings fixed -- they're harmless in this case.

Regards,

Giles

*** src/bin/psql/tab-complete.c-orig	Mon Apr  2 05:17:32 2001
--- src/bin/psql/tab-complete.c	Tue Apr 10 19:51:21 2001
***************
*** 70,80 ****
  
  
  /* Forward declaration of functions */
! static char **psql_completion(char *text, int start, int end);
! static char *create_command_generator(char *text, int state);
! static char *complete_from_query(char *text, int state);
! static char *complete_from_const(char *text, int state);
! static char *complete_from_list(char *text, int state);
  
  static PGresult *exec_query(char *query);
  char	   *quote_file_name(char *text, int match_type, char *quote_pointer);
--- 70,80 ----
  
  
  /* Forward declaration of functions */
! static char **psql_completion(const char *text, int start, int end);
! static char *create_command_generator(const char *text, int state);
! static char *complete_from_query(const char *text, int state);
! static char *complete_from_const(const char *text, int state);
! static char *complete_from_list(char const *text, int state);
  
  static PGresult *exec_query(char *query);
  char	   *quote_file_name(char *text, int match_type, char *quote_pointer);
***************
*** 177,183 ****
     libraries completion_matches() function, so we don't have to worry about it.
  */
  static char **
! psql_completion(char *text, int start, int end)
  {
  	/* This is the variable we'll return. */
  	char	  **matches = NULL;
--- 177,183 ----
     libraries completion_matches() function, so we don't have to worry about it.
  */
  static char **
! psql_completion(const char *text, int start, int end)
  {
  	/* This is the variable we'll return. */
  	char	  **matches = NULL;
***************
*** 796,802 ****
     as defined above.
  */
  static char *
! create_command_generator(char *text, int state)
  {
  	static int	list_index,
  				string_length;
--- 796,802 ----
     as defined above.
  */
  static char *
! create_command_generator(const char *text, int state)
  {
  	static int	list_index,
  				string_length;
***************
*** 829,835 ****
     etc.
  */
  static char *
! complete_from_query(char *text, int state)
  {
  	static int	list_index,
  				string_length;
--- 829,835 ----
     etc.
  */
  static char *
! complete_from_query(const char *text, int state)
  {
  	static int	list_index,
  				string_length;
***************
*** 877,883 ****
     SQL words that can appear at certain spot.
  */
  static char *
! complete_from_list(char *text, int state)
  {
  	static int	string_length,
  				list_index;
--- 877,883 ----
     SQL words that can appear at certain spot.
  */
  static char *
! complete_from_list(const char *text, int state)
  {
  	static int	string_length,
  				list_index;
***************
*** 911,917 ****
     The string to be passed must be in completion_charp.
  */
  static char *
! complete_from_const(char *text, int state)
  {
  	(void) text;				/* We don't care about what was entered
  								 * already. */
--- 911,917 ----
     The string to be passed must be in completion_charp.
  */
  static char *
! complete_from_const(const char *text, int state)
  {
  	(void) text;				/* We don't care about what was entered
  								 * already. */



Tue, 10 Apr 2001 19:52:57 +1000
Giles Lean <giles@nemeton.com.au>
Re: Re: Call for platforms 
On Mon, Apr 09, 2001 at 11:41:55AM -0700, Henry B. Hotz wrote:
> At 1:50 AM -0400 4/6/01, Tom Lane wrote:
...
> >What version of libreadline do you have installed, and how does it
> >declare completion_matches()?
> 
> I have whatever is standard on NetBSD 1.5.  I noticed that configure 
> found a readline.h include file, but NetBSD doesn't integrate the 
> current GNU implementation.  I did not do a test of psql to see if 
> the feature worked.
> 
> I'm sure you could "fix" this problem if you installed GNU readline 
> and referenced it in the build.  Since Solaris had even worse issues 
> with needing GNU support utilities installed this didn't seem like a 
> big deal to me.  OTOH it could confuse a new user.

Odd: I am using the standard NetBSD readline found in -ledit and it is
fine.. Can it be a -1.5 vs -current difference?


I have just stumbled across something which is broken though:

NetBSD-1.5S/arm32:
% ldd `which psql`
/usr/local/pgsql/bin/psql:
        -lpq.2 => /usr/local/pgsql/lib/libpq.so.2.1 (0x2003b000)
        -lz.0 => /usr/lib/libz.so.0.2 (0x20048000)
        -lcrypt.0 => /usr/lib/libcrypt.so.0.0 (0x20056000)
        -lresolv.1 => /usr/lib/libresolv.so.1.0 (0x2005c000)
        -lm.0 => /usr/lib/libm.so.0.1 (0x20065000)
        -lutil.5 => /usr/lib/libutil.so.5.5 (0x2008b000)
        -ledit.2 => /usr/lib/libedit.so.2.5 (0x20096000)
        -lc.12 => /usr/lib/libc.so.12.74 (0x200ae000)

NetBSD-1.5U/i386:
% ldd `which psql`
/usr/local/pgsql/bin/psql:
         -lcrypt.0 => /usr/lib/libcrypt.so.0
         -lresolv.1 => /usr/lib/libresolv.so.1
         -lpq.2 => /usr/local/pgsql/lib/libpq.so.2
         -lz.0 => /usr/lib/libz.so.0
         -lm.0 => /usr/lib/libm387.so.0
         -lm.0 => /usr/lib/libm.so.0
         -lutil.5 => /usr/lib/libutil.so.5
         -ledit.2 => /usr/lib/libedit.so.2
         -ltermcap.0 => /usr/lib/libtermcap.so.0
         -lc.12 => /usr/lib/libc.so.12

-ltermcap is missing from arm32 - it's necessary if libedit is going to
find _tgetent..

Investigating now..

Cheers,

Patrick

Sun, 22 Apr 2001 19:17:28 +0100
Patrick Welche <prlw1@newn.cam.ac.uk>
Re: Re: Call for platforms