Second call for platform testing

Started by Thomas Lockhartabout 24 years ago54 messages
#1Thomas Lockhart
lockhart@fourpalms.org

OK, the list is getting smaller fast (thanks for all of the responses!).
Here is what I have left currently (note the addition of NetBSD/sparc,
which I had inadvertently omitted from the first list):

BeOS Cyril Velter
Linux/arm Mark Knox
Linux/s390 Neale Ferguson
NetBSD/arm32 Patrick Welche
NetBSD/m68k Bill Studenmund (will test)
NetBSD/sparc Matthew Green (left off the first list)
NetBSD/VAX Tom I. Helbekkmo
QNX (did I get a definitive report for 4.x already?)
SunOS Tatsuo Ishii (old release; still relevant?)
Windows/Cygwin Daniel Horak (OK in serial test, trouble with parallel
test?)
Windows/native Magnus Hagander (clients only)

I'm curious about the Windows/Cygwin trouble, and if others see it too,
since the -cygwin mailing list seems to report happiness with 7.1.3.

Tatsuo, do you think that we should still track SunOS explicitly?

Are there any other platforms we are running on?

- Thomas

The following platforms have been reported as successfully running
PostgreSQL 7.2:

AIX Andreas Zeugswetter (Tatsuo working on 5L?)
BSD/OS Bruce
FreeBSD Chris Kings-Lynne
HPUX Tom (anyone tested 11.0 or higher?)
IRIX Luis Amigo
Linux/Alpha Tom
Linux/MIPS Hisao Shibuya
Linux/PPC Tom
Linux/sparc Doug McNaught
Linux/x86 Thomas (and many others ;)
MacOS-X Gavin Sherry
NetBSD/Alpha Thomas Thai
NetBSD/PPC Bill Studenmund
NetBSD/x86 Bill Studenmund
OpenBSD/sparc Brandon Palmer
OpenBSD/x86 Brandon Palmer
SCO OpenUnix Larry Rosenman
Solaris/sparc Andrew Sullivan
Solaris/x86 Martin Renters
Tru64 Alessio Bragadini (trouble with 5.1?)

#2Joe Conway
joseph.conway@home.com
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

Thomas Lockhart wrote:

The following platforms have been reported as successfully running
PostgreSQL 7.2:

AIX Andreas Zeugswetter (Tatsuo working on 5L?)
BSD/OS Bruce
FreeBSD Chris Kings-Lynne
HPUX Tom (anyone tested 11.0 or higher?)

Are you still looking for HPUX 11.0+ ? I can arrange for access to one
if we still need it (gcc though, I don't have access to HP's compiler).

-- Joe

#3Cyril VELTER
cyril.velter@libertysurf.fr
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

I just tested the BeOS port (and updated the regression test database).

Two little tweaks are needed to make it compile and install :

* int8/uint8 and int64/uint64 are not detected properly by configure
(they are declared in SupportDefs.h on beos).
* data dir is created with group and world access, preventing
postmaster from starting (a simple chmod og-rwx will do)

The regression test pass without any error.

cyril

Show quoted text

OK, the list is getting smaller fast (thanks for all of the responses!).
Here is what I have left currently (note the addition of NetBSD/sparc,
which I had inadvertently omitted from the first list):

BeOS Cyril Velter
Linux/arm Mark Knox
Linux/s390 Neale Ferguson
NetBSD/arm32 Patrick Welche
NetBSD/m68k Bill Studenmund (will test)
NetBSD/sparc Matthew Green (left off the first list)
NetBSD/VAX Tom I. Helbekkmo
QNX (did I get a definitive report for 4.x already?)
SunOS Tatsuo Ishii (old release; still relevant?)
Windows/Cygwin Daniel Horak (OK in serial test, trouble with parallel
test?)
Windows/native Magnus Hagander (clients only)

I'm curious about the Windows/Cygwin trouble, and if others see it too,
since the -cygwin mailing list seems to report happiness with 7.1.3.

Tatsuo, do you think that we should still track SunOS explicitly?

Are there any other platforms we are running on?

- Thomas

The following platforms have been reported as successfully running
PostgreSQL 7.2:

AIX Andreas Zeugswetter (Tatsuo working on 5L?)
BSD/OS Bruce
FreeBSD Chris Kings-Lynne
HPUX Tom (anyone tested 11.0 or higher?)
IRIX Luis Amigo
Linux/Alpha Tom
Linux/MIPS Hisao Shibuya
Linux/PPC Tom
Linux/sparc Doug McNaught
Linux/x86 Thomas (and many others ;)
MacOS-X Gavin Sherry
NetBSD/Alpha Thomas Thai
NetBSD/PPC Bill Studenmund
NetBSD/x86 Bill Studenmund
OpenBSD/sparc Brandon Palmer
OpenBSD/x86 Brandon Palmer
SCO OpenUnix Larry Rosenman
Solaris/sparc Andrew Sullivan
Solaris/x86 Martin Renters
Tru64 Alessio Bragadini (trouble with 5.1?)

#4Thomas Lockhart
lockhart@fourpalms.org
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

Are you still looking for HPUX 11.0+ ? I can arrange for access to one
if we still need it (gcc though, I don't have access to HP's compiler).

Yes, that would be great. 10.20 is pretty old afaik...

- Thomas

#5Thomas Lockhart
lockhart@fourpalms.org
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

I just tested the BeOS port (and updated the regression test database).
Two little tweaks are needed to make it compile and install :
* int8/uint8 and int64/uint64 are not detected properly by configure
(they are declared in SupportDefs.h on beos).
* data dir is created with group and world access, preventing
postmaster from starting (a simple chmod og-rwx will do)
The regression test pass without any error.

Great! Can the int8 detection be helped with a patch to get the right
include file?

- Thomas

#6Larry Rosenman
ler@lerctr.org
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

SCO OpenUNIX should be Caldera OpenUNIX....

Thanks,
LER

* Thomas Lockhart <lockhart@fourpalms.org> [011128 22:07]:

OK, the list is getting smaller fast (thanks for all of the responses!).
Here is what I have left currently (note the addition of NetBSD/sparc,
which I had inadvertently omitted from the first list):

BeOS Cyril Velter
Linux/arm Mark Knox
Linux/s390 Neale Ferguson
NetBSD/arm32 Patrick Welche
NetBSD/m68k Bill Studenmund (will test)
NetBSD/sparc Matthew Green (left off the first list)
NetBSD/VAX Tom I. Helbekkmo
QNX (did I get a definitive report for 4.x already?)
SunOS Tatsuo Ishii (old release; still relevant?)
Windows/Cygwin Daniel Horak (OK in serial test, trouble with parallel
test?)
Windows/native Magnus Hagander (clients only)

I'm curious about the Windows/Cygwin trouble, and if others see it too,
since the -cygwin mailing list seems to report happiness with 7.1.3.

Tatsuo, do you think that we should still track SunOS explicitly?

Are there any other platforms we are running on?

- Thomas

The following platforms have been reported as successfully running
PostgreSQL 7.2:

AIX Andreas Zeugswetter (Tatsuo working on 5L?)
BSD/OS Bruce
FreeBSD Chris Kings-Lynne
HPUX Tom (anyone tested 11.0 or higher?)
IRIX Luis Amigo
Linux/Alpha Tom
Linux/MIPS Hisao Shibuya
Linux/PPC Tom
Linux/sparc Doug McNaught
Linux/x86 Thomas (and many others ;)
MacOS-X Gavin Sherry
NetBSD/Alpha Thomas Thai
NetBSD/PPC Bill Studenmund
NetBSD/x86 Bill Studenmund
OpenBSD/sparc Brandon Palmer
OpenBSD/x86 Brandon Palmer
SCO OpenUnix Larry Rosenman
Solaris/sparc Andrew Sullivan
Solaris/x86 Martin Renters
Tru64 Alessio Bragadini (trouble with 5.1?)

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

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

--
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 972-414-9812 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

#7Thomas Lockhart
lockhart@fourpalms.org
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

SCO OpenUNIX should be Caldera OpenUNIX....

Got it. Thanks.

- Thomas

#8Cyril VELTER
cyril.velter@libertysurf.fr
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

I just tested the BeOS port (and updated the regression test

database).

Two little tweaks are needed to make it compile and install :
* int8/uint8 and int64/uint64 are not detected properly by

configure

(they are declared in SupportDefs.h on beos).
* data dir is created with group and world access, preventing
postmaster from starting (a simple chmod og-rwx will do)
The regression test pass without any error.

Great! Can the int8 detection be helped with a patch to get the right
include file?

I think it can, but I'm not familiar at all with configure script. If
someone can point me where the change should be made, I'll make and test a
patch.

What modification should be made to configure.in to make it include
SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

cyril

#9Zeugswetter Andreas SB SD
ZeugswetterA@spardat.at
In reply to: Cyril VELTER (#8)
Re: Second call for platform testing

What modification should be made to configure.in to make it

include

SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

Is SupportDefs.h actually (probably implicitly) included by the
PostgreSQL
source ? Because if it is not, PostgreSQL is quite happy not finding
them in
configure.

Not finding them is only a problem if you get redefines during
compilation
(and if your compiler then treats that as fatal).

Andreas

#10Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Zeugswetter Andreas SB SD (#9)
Re: Second call for platform testing

What modification should be made to configure.in to make it

include

SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

Is SupportDefs.h actually (probably implicitly) included by the
PostgreSQL
source ? Because if it is not, PostgreSQL is quite happy not finding
them in
configure.

Not finding them is only a problem if you get redefines during
compilation
(and if your compiler then treats that as fatal).

Good point. Also, a mixed-case include file is quite unusual. One idea
if you can't get it working is to either include "SupportDefs.h" for
BeOS in configure.in and c.h, or check the top of SupportDefs.h. Often
there is an #ifdef at the top to prevent the file from being included
twice. If you define that in c.h for BeOS, the include SupportDefs.h
will never be used and we can use our own defines for uint8/uint64.

FYI, this test was added for AIX in recent weeks because it had similar
trouble.

Here is the little snippet of code from configure to test for uint8:

#include "confdefs.h"
#include <stdio.h>
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(uint8));
exit(0);
}

Now, we would normally modify configure.in, but you can play with
configure until you get it to work, let us know, and we can modify
configure.in, run autoconf, make any needed additions to c.h, and get it
into CVS.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#11Tom Lane
tgl@sss.pgh.pa.us
In reply to: Cyril VELTER (#8)
Re: Second call for platform testing

"Cyril VELTER" <cyril.velter@libertysurf.fr> writes:

What modification should be made to configure.in to make it include
SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

This looks like a bit of a pain. We're currently using AC_CHECK_SIZEOF
to make those probes, apparently because it's the closest standard macro
to what we want. But it's not close enough. It doesn't include
anything except <stdio.h>. I don't think we can fix this except by
making our own macro. Peter, any opinion about how to do it?

(If we do make our own macro, we could change the output to be something
more reasonable, like #defining HAVE_UINT8 rather than claiming
"sizeof uint8 = 0", which is sure to confuse people.)

regards, tom lane

#12Cyril VELTER
cyril.velter@libertysurf.fr
In reply to: Zeugswetter Andreas SB SD (#9)
Re: Second call for platform testing

What modification should be made to configure.in to make it include
SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

Is SupportDefs.h actually (probably implicitly) included by the
PostgreSQL
source ? Because if it is not, PostgreSQL is quite happy not finding
them in
configure.

Not finding them is only a problem if you get redefines during
compilation
(and if your compiler then treats that as fatal).

SupportDefs.h is conditionaly included in c.h so everything is Ok when I
compile the backend, but when configure try to figure out the size of int8
... they are not defined.

May be SupportDefs.h should be included from another file ?

cyril

#13Peter Eisentraut
peter_e@gmx.net
In reply to: Cyril VELTER (#3)
Re: Second call for platform testing

Cyril VELTER writes:

I just tested the BeOS port (and updated the regression test database).

Two little tweaks are needed to make it compile and install :

* int8/uint8 and int64/uint64 are not detected properly by configure
(they are declared in SupportDefs.h on beos).

Well, that was the end of that bright idea. There's no way to tell
AC_CHECK_SIZEOF what header files to consider. We need to put back the
#ifdef __BEOS__, it seems.

* data dir is created with group and world access, preventing
postmaster from starting (a simple chmod og-rwx will do)

What does the shell do with the umask call in initdb?

--
Peter Eisentraut peter_e@gmx.net

#14Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Tom Lane (#11)
Re: Second call for platform testing

"Cyril VELTER" <cyril.velter@libertysurf.fr> writes:

What modification should be made to configure.in to make it include
SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

This looks like a bit of a pain. We're currently using AC_CHECK_SIZEOF
to make those probes, apparently because it's the closest standard macro
to what we want. But it's not close enough. It doesn't include
anything except <stdio.h>. I don't think we can fix this except by
making our own macro. Peter, any opinion about how to do it?

I was wondering where that bizarre fopen()/fprintf() in the test code
came from. It looked strange. Now I know why; it came from autoconf.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#15Cyril VELTER
cyril.velter@libertysurf.fr
In reply to: Peter Eisentraut (#13)
Re: Second call for platform testing

* data dir is created with group and world access, preventing
postmaster from starting (a simple chmod og-rwx will do)

What does the shell do with the umask call in initdb?

I will look at it (I'm not on a beos box right now), but as BeOS is
not a true multiuser system, he is probably faulty here.

cyril

#16Joe Conway
joseph.conway@home.com
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

Thomas Lockhart wrote:

Are you still looking for HPUX 11.0+ ? I can arrange for access to one
if we still need it (gcc though, I don't have access to HP's compiler).

Yes, that would be great. 10.20 is pretty old afaik...

- Thomas

I ran into a problem on HPUX 11 right off with:

===============================
configure --enable-debug
.
.
.
checking for struct sockaddr_un... yes
checking for int timezone... yes
checking types of arguments for accept()... configure: error: could not
determine argument types

===============================

I won't pretend to be very knowledgable about HPUX or configure, but it
looks like the following in configure is where it dies:

===============================

else
for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do
for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct
sockaddr *' 'void *'; do
for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t'
'unsigned int' 'void'; do
cat > conftest.$ac_ext <<EOF

=======================================

and here's what the HPUX man page says:

=======================================
accept(2)

NAME
accept - accept a connection on a socket

SYNOPSIS
#include <sys/socket.h>

AF_CCITT only
#include <x25/x25addrstr.h>

int accept(int s, void *addr, int *addrlen);

_XOPEN_SOURCE_EXTENDED only (UNIX 98)
int accept(int s, struct sockaddr *addr, socklen_t *addrlen);

=======================================

so it looks like configure expects the third argument to be (int), when
on HPUX 11 the third argument is (int *).

Any ideas what I'm doing wrong?

-- Joe

#17Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joe Conway (#16)
Re: Second call for platform testing

Joe Conway <joseph.conway@home.com> writes:

I ran into a problem on HPUX 11 right off with:

That's odd, considering that someone else reported 7.1 worked fine on
HPUX 11, and we haven't changed this configure test since then.

so it looks like configure expects the third argument to be (int), when
on HPUX 11 the third argument is (int *).

No, the macro knows that the third argument is pointer-to-something;
it's trying to figure out pointer-to-what.

Any ideas what I'm doing wrong?

What had configure selected so far for compiler, cflags, etc? Maybe
it's blowing the game at that stage. Or maybe the test is failing to
include all the needed include files to define these datatypes.

In general, the config.log output is a good thing to post when puzzled
by configure problems.

regards, tom lane

#18Joe Conway
joseph.conway@home.com
In reply to: Thomas Lockhart (#1)
2 attachment(s)
Re: Second call for platform testing

Tom Lane wrote:

What had configure selected so far for compiler, cflags, etc? Maybe
it's blowing the game at that stage. Or maybe the test is failing to
include all the needed include files to define these datatypes.

In general, the config.log output is a good thing to post when puzzled
by configure problems.

OK. Figured out a couple of pieces to this. First, although I was told
we did not have HP's compiler, it is actually there. Second, since gcc
was freshly installed, it wasn't in my PATH. So the error I reported
last time is actually from the bundled compiler.

So I added /opt/gcc/bin to my PATH, and got a different error once gcc
was detected.

Attached are both config.log files. Sorry for being so clueless here,
but I haven't done much on HPUX before.

Joe

Attachments:

config.log.bundled_cctext/plain; name=config.log.bundled_ccDownload
config.log.gcctext/plain; name=config.log.gccDownload
#19Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joe Conway (#18)
Re: Second call for platform testing

Joe Conway <joseph.conway@home.com> writes:

... So the error I reported
last time is actually from the bundled compiler.

Which, unless HP has reconsidered since HPUX 10, is a deliberately
crippled K&R (no ANSI features) compiler. It's no wonder the configure
run failed; I guess failing right at this point is happenstance, though
it could not have gotten further since this test depends on ANSI
prototypes.

configure:1361: checking whether the C compiler (cc -Ae +O2 ) works
configure:1377: cc -Ae -o conftest +O2 conftest.c 1>&5
(Bundled) cc: warning 480: The -A option is available only with the C/ANSI C product; ignored.
(Bundled) cc: warning 480: The +O2 option is available only with the C/ANSI C product; ignored.

It's a shame configure hides all these useful messages down inside
config.log.

I wonder whether we shouldn't make the bare "does it work" test include
verification that ANSI-style prototypes are supported.

So I added /opt/gcc/bin to my PATH, and got a different error once gcc
was detected.

configure:1243: checking whether the C compiler (gcc ) works
configure:1259: gcc -o conftest conftest.c 1>&5
as: warning 2: Unknown option "--traditional-format" ignored.
as: "/var/tmp/cceTg0Kd.s", line 15: error 1052: Directive name not recognized - NSUBSPA

This looks like your gcc installation is broken: specifically, I'll bet
it's trying to use HP's assembler rather than gas. You really want the
GNU toolchain (binutils package) underneath gcc. The gcc-to-HP-as
configuration has never worked for me (though I have to admit I haven't
tried in a long time).

In the meantime, try it with HP's real compiler (set CC=cc for configure).

regards, tom lane

#20Hiroshi Inoue
Inoue@tpf.co.jp
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

Thomas Lockhart wrote:

OK, the list is getting smaller fast (thanks for all of the responses!).

I got a regression test result from Hiroshi Saito on
UNIX_System_V ews4800 4.2MP 4.2 R4000 r4000.

=======================
10 of 79 tests failed.
========================

int8 ... FAILED
abstime ... FAILED
tinterval ... FAILED
test geometry ... FAILED
test horology ... FAILED
create_index ... FAILED
test sanity_check ... FAILED
test select ... FAILED
subselect ... FAILED
union ... FAILED

Seems INT64_IS_BUSTED, old PST ... etc and

*** ./expected/create_index.out	Tue Aug 28 08:23:34 JST 2001
--- ./results/create_index.out	Fri Nov 30 00:28:22 JST 2001
***************
*** 35,44 ****
--- 35,47 ----
  --
  CREATE INDEX onek2_u1_prtl ON onek2 USING btree(unique1 int4_ops)
  	where unique1 < 20 or unique1 > 980;
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f64f0
  CREATE INDEX onek2_u2_prtl ON onek2 USING btree(unique2 int4_ops)
  	where stringu1 < 'B';
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f6390
  CREATE INDEX onek2_stu1_prtl ON onek2 USING btree(stringu1 name_ops)
  	where onek2.stringu1 >= 'J' and onek2.stringu1 < 'K';
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f6740
  --
  -- RTREE
  -- 

regards,
Hiroshi Inoue

#21Christopher Kings-Lynne
chriskl@familyhealth.com.au
In reply to: Cyril VELTER (#3)
Re: Second call for platform testing

Has someone thought about getting a sourceforge account for postgres or
something? Even if we don't use their CVS and facilities, I wonder if we
can use their compile farm for platform testing?

Actually, maybe the phpPgAdmin admins could test it for us on the compile
farm, as they should have access...

Chris

Show quoted text

-----Original Message-----
From: pgsql-hackers-owner@postgresql.org
[mailto:pgsql-hackers-owner@postgresql.org]On Behalf Of Cyril VELTER
Sent: Thursday, 29 November 2001 6:26 PM
To: PostgreSQL Hackers Mailing List
Cc: Bruno G. Albuquerque
Subject: Re: [HACKERS] Second call for platform testing

I just tested the BeOS port (and updated the regression test
database).

Two little tweaks are needed to make it compile and install :

* int8/uint8 and int64/uint64 are not detected properly
by configure
(they are declared in SupportDefs.h on beos).
* data dir is created with group and world access, preventing
postmaster from starting (a simple chmod og-rwx will do)

The regression test pass without any error.

cyril

OK, the list is getting smaller fast (thanks for all of the responses!).
Here is what I have left currently (note the addition of NetBSD/sparc,
which I had inadvertently omitted from the first list):

BeOS Cyril Velter
Linux/arm Mark Knox
Linux/s390 Neale Ferguson
NetBSD/arm32 Patrick Welche
NetBSD/m68k Bill Studenmund (will test)
NetBSD/sparc Matthew Green (left off the first list)
NetBSD/VAX Tom I. Helbekkmo
QNX (did I get a definitive report for 4.x already?)
SunOS Tatsuo Ishii (old release; still relevant?)
Windows/Cygwin Daniel Horak (OK in serial test, trouble with parallel
test?)
Windows/native Magnus Hagander (clients only)

I'm curious about the Windows/Cygwin trouble, and if others see it too,
since the -cygwin mailing list seems to report happiness with 7.1.3.

Tatsuo, do you think that we should still track SunOS explicitly?

Are there any other platforms we are running on?

- Thomas

The following platforms have been reported as successfully running
PostgreSQL 7.2:

AIX Andreas Zeugswetter (Tatsuo working on 5L?)
BSD/OS Bruce
FreeBSD Chris Kings-Lynne
HPUX Tom (anyone tested 11.0 or higher?)
IRIX Luis Amigo
Linux/Alpha Tom
Linux/MIPS Hisao Shibuya
Linux/PPC Tom
Linux/sparc Doug McNaught
Linux/x86 Thomas (and many others ;)
MacOS-X Gavin Sherry
NetBSD/Alpha Thomas Thai
NetBSD/PPC Bill Studenmund
NetBSD/x86 Bill Studenmund
OpenBSD/sparc Brandon Palmer
OpenBSD/x86 Brandon Palmer
SCO OpenUnix Larry Rosenman
Solaris/sparc Andrew Sullivan
Solaris/x86 Martin Renters
Tru64 Alessio Bragadini (trouble with 5.1?)

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

#22Tom Lane
tgl@sss.pgh.pa.us
In reply to: Hiroshi Inoue (#20)
Re: Second call for platform testing

Hiroshi Inoue <Inoue@tpf.co.jp> writes:

I got a regression test result from Hiroshi Saito on
UNIX_System_V ews4800 4.2MP 4.2 R4000 r4000.

Seems INT64_IS_BUSTED, old PST ... etc and

*** ./expected/create_index.out	Tue Aug 28 08:23:34 JST 2001
--- ./results/create_index.out	Fri Nov 30 00:28:22 JST 2001
***************
*** 35,44 ****
--- 35,47 ----
--
CREATE INDEX onek2_u1_prtl ON onek2 USING btree(unique1 int4_ops)
where unique1 < 20 or unique1 > 980;
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f64f0
CREATE INDEX onek2_u2_prtl ON onek2 USING btree(unique2 int4_ops)
where stringu1 < 'B';
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f6390
CREATE INDEX onek2_stu1_prtl ON onek2 USING btree(stringu1 name_ops)
where onek2.stringu1 >= 'J' and onek2.stringu1 < 'K';
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f6740

Interesting. Something nonportable in the partial index support,
perhaps?

Would you ask him to compile with debug support, set a breakpoint at
elog(), and get a backtrace from the point of the error? It'll probably
work to execute any one of those commands by hand in the regression
database, so he doesn't need to try to attach to a regression testing
backend on the fly. Just start psql, attach gdb to its backend, set the
breakpoint, and then run the create index command.

regards, tom lane

#23Tom Lane
tgl@sss.pgh.pa.us
In reply to: Christopher Kings-Lynne (#21)
Re: Second call for platform testing

"Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes:

Has someone thought about getting a sourceforge account for postgres or
something? Even if we don't use their CVS and facilities, I wonder if we
can use their compile farm for platform testing?

Hardly need a project account. I have a personal account at
sourceforge, and have used it (fairly recently, even) to run tests on
their compile farm. They don't presently have all that wide a range of
stuff available however. Let's see ....

lqqqqqqqqChoose compile farm server...qqqqqqqqqk
x A. [x86] Linux 2.2 (Debian 2.2) x
x C. [x86] FreeBSD (4.3-RELEASE) x
x x
x G. [Alpha] Linux 2.2 (Debian 2.2) x
x x
x I. [PPC - G4] MacOS X 10.1 #1 **NEW** x
x J. [PPC - G4] MacOS X 10.1 #2 **NEW** x
x K. [PPC - RS/6000] Linux 2.2 (Debian 2.2) x
x x
x L. [Sparc - Ultra60] Linux 2.2 (Debian 2.2) x
x M. [Sparc - R220] Sun Solaris (8) #1 x
x N. [Sparc - R220] Sun Solaris (8) #2 x
x O. [Sparc - R220] Sun Solaris (8) #3 x
x P. [Sparc - R220] Sun Solaris (8) #4 x
x x
x Exit x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

With the possible exception of the Linux/Alpha box, there's nothing
there that we don't have covered already, is there?

regards, tom lane

#24Christopher Kings-Lynne
chriskl@familyhealth.com.au
In reply to: Tom Lane (#23)
Re: Second call for platform testing

Fair enough.

Chris

Show quoted text

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Friday, 30 November 2001 9:55 AM
To: Christopher Kings-Lynne
Cc: PostgreSQL Hackers Mailing List
Subject: Re: [HACKERS] Second call for platform testing

"Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes:

Has someone thought about getting a sourceforge account for postgres or
something? Even if we don't use their CVS and facilities, I

wonder if we

can use their compile farm for platform testing?

Hardly need a project account. I have a personal account at
sourceforge, and have used it (fairly recently, even) to run tests on
their compile farm. They don't presently have all that wide a range of
stuff available however. Let's see ....

lqqqqqqqqChoose compile farm server...qqqqqqqqqk
x A. [x86] Linux 2.2 (Debian 2.2) x
x C. [x86] FreeBSD (4.3-RELEASE) x
x x
x G. [Alpha] Linux 2.2 (Debian 2.2) x
x x
x I. [PPC - G4] MacOS X 10.1 #1 **NEW** x
x J. [PPC - G4] MacOS X 10.1 #2 **NEW** x
x K. [PPC - RS/6000] Linux 2.2 (Debian 2.2) x
x x
x L. [Sparc - Ultra60] Linux 2.2 (Debian 2.2) x
x M. [Sparc - R220] Sun Solaris (8) #1 x
x N. [Sparc - R220] Sun Solaris (8) #2 x
x O. [Sparc - R220] Sun Solaris (8) #3 x
x P. [Sparc - R220] Sun Solaris (8) #4 x
x x
x Exit x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

With the possible exception of the Linux/Alpha box, there's nothing
there that we don't have covered already, is there?

regards, tom lane

#25Joe Conway
joseph.conway@home.com
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

Tom Lane wrote:

configure:1243: checking whether the C compiler (gcc ) works
configure:1259: gcc -o conftest conftest.c 1>&5
as: warning 2: Unknown option "--traditional-format" ignored.
as: "/var/tmp/cceTg0Kd.s", line 15: error 1052: Directive name not recognized - NSUBSPA

This looks like your gcc installation is broken: specifically, I'll bet
it's trying to use HP's assembler rather than gas. You really want the
GNU toolchain (binutils package) underneath gcc. The gcc-to-HP-as
configuration has never worked for me (though I have to admit I haven't
tried in a long time).

In the meantime, try it with HP's real compiler (set CC=cc for configure).

As usual Tom, you're right on the mark!

The HP compiler on this machine is in fact the K&R/non-ANSI bundled
compiler. Unfortunately, the real compiler is not available -- i.e. we
have not purchased it.

I did get binutils installed though, and was able to run configure and
gmake. However, 'gmake check' seems to hang at:

parallel group (20 tests): lseg point

I have a copy of gdb which has not been installed yet. Tomorrow I'll ask
our unix admin to install it for me so I can drill down to the problem
code. Any other thoughts in the meantime?

FWIW, the server is a new A Class HP:
$ uname -a
HP-UX csdoap2 B.11.00 A 9000/800 594720518 two-user license

Thanks,

Joe

#26Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joe Conway (#25)
Re: Second call for platform testing

Joe Conway <joseph.conway@home.com> writes:

I did get binutils installed though, and was able to run configure and
gmake. However, 'gmake check' seems to hang at:

parallel group (20 tests): lseg point

That one's in the FAQ ;-). Evidently HP still hasn't fixed that sh bug
as of 11.0. Should work if you use ksh instead, viz

gmake SHELL=/bin/ksh check

regards, tom lane

#27Joe Conway
joseph.conway@home.com
In reply to: Thomas Lockhart (#1)
1 attachment(s)
Re: Second call for platform testing

Tom Lane wrote:

That one's in the FAQ ;-). Evidently HP still hasn't fixed that sh bug
as of 11.0. Should work if you use ksh instead, viz

gmake SHELL=/bin/ksh check

Correct again (not that I ever doubted you)! Sorry, I should have known
to look at the platform FAQ.

And after all that, the results:

====================================================
2 of 79 tests failed, 1 of these failures ignored.
====================================================

geometry and random failed. The diffs are attached. The geometry diffs
all look to be 0 vs -0.

Again, for reference:
$ model
9000/800/A500-44
$ uname -a
HP-UX csdoap2 B.11.00 A 9000/800

Joe

Attachments:

regression.diffstext/plain; name=regression.diffsDownload
*** ./expected/geometry-positive-zeros.out	Tue Sep 12 14:07:16 2000
--- ./results/geometry.out	Thu Nov 29 22:23:13 2001
***************
*** 114,120 ****
          | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
          | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
          | (10,10)    | [(1,2),(3,4)]                 | (3,4)
!         | (0,0)      | [(0,0),(6,6)]                 | (0,0)
          | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
          | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
          | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
--- 114,120 ----
          | (5.1,34.5) | [(1,2),(3,4)]                 | (3,4)
          | (-5,-12)   | [(1,2),(3,4)]                 | (1,2)
          | (10,10)    | [(1,2),(3,4)]                 | (3,4)
!         | (0,0)      | [(0,0),(6,6)]                 | (-0,0)
          | (-10,0)    | [(0,0),(6,6)]                 | (0,0)
          | (-3,4)     | [(0,0),(6,6)]                 | (0.5,0.5)
          | (5.1,34.5) | [(0,0),(6,6)]                 | (6,6)
***************
*** 224,233 ****
   twentyfour |          rotation           
  ------------+-----------------------------
              | (0,0),(0,0)
!             | (0,0),(-20,-20)
!             | (0,2),(-14,0)
              | (0,79.2),(-58.8,0)
!             | (14,0),(0,-34)
              | (0,40),(0,0)
              | (0,0),(0,0)
              | (-10,-10),(-30,-30)
--- 224,233 ----
   twentyfour |          rotation           
  ------------+-----------------------------
              | (0,0),(0,0)
!             | (-0,0),(-20,-20)
!             | (-0,2),(-14,0)
              | (0,79.2),(-58.8,0)
!             | (14,-0),(0,-34)
              | (0,40),(0,0)
              | (0,0),(0,0)
              | (-10,-10),(-30,-30)
***************
*** 254,264 ****
     WHERE (p.f1 <-> point '(0,0)') >= 1;
   twenty |                                     rotation                                      
  --------+-----------------------------------------------------------------------------------
!         | (0,0),(-0.2,-0.2)
          | (-0.1,-0.1),(-0.3,-0.3)
          | (-0.25,-0.25),(-0.25,-0.35)
          | (-0.3,-0.3),(-0.3,-0.3)
!         | (0.08,0),(0,-0.56)
          | (0.12,-0.28),(0.04,-0.84)
          | (0.26,-0.7),(0.1,-0.82)
          | (0.12,-0.84),(0.12,-0.84)
--- 254,264 ----
     WHERE (p.f1 <-> point '(0,0)') >= 1;
   twenty |                                     rotation                                      
  --------+-----------------------------------------------------------------------------------
!         | (0,-0),(-0.2,-0.2)
          | (-0.1,-0.1),(-0.3,-0.3)
          | (-0.25,-0.25),(-0.25,-0.35)
          | (-0.3,-0.3),(-0.3,-0.3)
!         | (0.08,-0),(0,-0.56)
          | (0.12,-0.28),(0.04,-0.84)
          | (0.26,-0.7),(0.1,-0.82)
          | (0.12,-0.84),(0.12,-0.84)
***************
*** 266,272 ****
          | (0.0976764836465887,-0.0241724631246608),(0.0325588278821962,-0.0725173893739825)
          | (0.109762715208919,-0.0562379754328844),(0.0813970697054906,-0.0604311578116521)
          | (0.0976764836465887,-0.0725173893739825),(0.0976764836465887,-0.0725173893739825)
!         | (0,0.0828402366863905),(-0.201183431952663,0)
          | (-0.100591715976331,0.124260355029586),(-0.301775147928994,0.0414201183431953)
          | (-0.251479289940828,0.103550295857988),(-0.322485207100592,0.0739644970414201)
          | (-0.301775147928994,0.124260355029586),(-0.301775147928994,0.124260355029586)
--- 266,272 ----
          | (0.0976764836465887,-0.0241724631246608),(0.0325588278821962,-0.0725173893739825)
          | (0.109762715208919,-0.0562379754328844),(0.0813970697054906,-0.0604311578116521)
          | (0.0976764836465887,-0.0725173893739825),(0.0976764836465887,-0.0725173893739825)
!         | (-0,0.0828402366863905),(-0.201183431952663,0)
          | (-0.100591715976331,0.124260355029586),(-0.301775147928994,0.0414201183431953)
          | (-0.251479289940828,0.103550295857988),(-0.322485207100592,0.0739644970414201)
          | (-0.301775147928994,0.124260355029586),(-0.301775147928994,0.124260355029586)

======================================================================

*** ./expected/random.out	Wed Jan  5 22:40:54 2000
--- ./results/random.out	Thu Nov 29 22:23:40 2001
***************
*** 31,35 ****
    WHERE random NOT BETWEEN 80 AND 120;
   random 
  --------
! (0 rows)
  
--- 31,36 ----
    WHERE random NOT BETWEEN 80 AND 120;
   random 
  --------
!     122
! (1 row)
  

======================================================================

#28Thomas Lockhart
lockhart@fourpalms.org
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

...

geometry and random failed. The diffs are attached. The geometry diffs
all look to be 0 vs -0.
$ model
9000/800/A500-44
$ uname -a
HP-UX csdoap2 B.11.00 A 9000/800

Great! Thanks for testing; I'll update the list...

- Thomas

#29Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joe Conway (#27)
Re: Second call for platform testing

Joe Conway <joseph.conway@home.com> writes:

geometry and random failed. The diffs are attached. The geometry diffs
all look to be 0 vs -0.

Okay, it looks like HP has implemented -0 finally. Try the other
geometry comparison files to see if any match;
geometry-positive-zeros.out is evidently only good for HPUX 10.

regards, tom lane

#30Joe Conway
joseph.conway@home.com
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

Tom Lane wrote:

Okay, it looks like HP has implemented -0 finally. Try the other
geometry comparison files to see if any match;
geometry-positive-zeros.out is evidently only good for HPUX 10.

A little experimentation shows that "geometry-solaris-precision.out" is
a perfect match. Two questions:

1. Do we use "geometry-solaris-precision.out", or clone it with a more
appropriate name like "geometry-hpux11.out" or
"geometry-hpux-precision.out"?

2. The current resultmap says: "geometry/hppa=geometry-positive-zeros".
What do we modify to so that it differentiates between HPUX11 and
HPUX10? I see it's related to the config.guess output and the pg_regress
script, but it's not clear to me where to make a change.

Joe

#31Hiroshi Inoue
Inoue@tpf.co.jp
In reply to: Tom Lane (#22)
Re: Second call for platform testing

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]

Hiroshi Inoue <Inoue@tpf.co.jp> writes:

I got a regression test result from Hiroshi Saito on
UNIX_System_V ews4800 4.2MP 4.2 R4000 r4000.

Seems INT64_IS_BUSTED, old PST ... etc and

*** ./expected/create_index.out	Tue Aug 28 08:23:34 JST 2001
--- ./results/create_index.out	Fri Nov 30 00:28:22 JST 2001
***************
*** 35,44 ****
--- 35,47 ----
--
CREATE INDEX onek2_u1_prtl ON onek2 USING btree(unique1 int4_ops)
where unique1 < 20 or unique1 > 980;
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f64f0
CREATE INDEX onek2_u2_prtl ON onek2 USING btree(unique2 int4_ops)
where stringu1 < 'B';
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f6390
CREATE INDEX onek2_stu1_prtl ON onek2 USING btree(stringu1 name_ops)
where onek2.stringu1 >= 'J' and onek2.stringu1 < 'K';
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f6740

Interesting. Something nonportable in the partial index support,
perhaps?

Would you ask him to compile with debug support, set a breakpoint at
elog(), and get a backtrace from the point of the error?

Unfortunately he doesn't seem to be able to do it at once
though he would like to do it. If he is ready he may reply
to this thread directly.

regards,
Hiroshi Inoue

#32Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joe Conway (#30)
Re: Second call for platform testing

Joe Conway <joseph.conway@home.com> writes:

A little experimentation shows that "geometry-solaris-precision.out" is
a perfect match. Two questions:

Excellent.

1. Do we use "geometry-solaris-precision.out", or clone it with a more
appropriate name like "geometry-hpux11.out" or
"geometry-hpux-precision.out"?

I'd use it as-is. Not worth the trouble to rename it, and we definitely
don't want to carry around two copies.

2. The current resultmap says: "geometry/hppa=geometry-positive-zeros".
What do we modify to so that it differentiates between HPUX11 and
HPUX10? I see it's related to the config.guess output and the pg_regress
script, but it's not clear to me where to make a change.

Looks like it's got to be

geometry/hppa-hp-hpux9=geometry-positive-zeros
geometry/hppa-hp-hpux10=geometry-positive-zeros
geometry/hppa-hp-hpux11=geometry-solaris-precision

Ugh, but ...

Please check that's OK on 11, and I'll double check it on 10.

regards, tom lane

#33Joe Conway
joseph.conway@home.com
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

Tom Lane wrote:

Looks like it's got to be

geometry/hppa-hp-hpux9=geometry-positive-zeros
geometry/hppa-hp-hpux10=geometry-positive-zeros
geometry/hppa-hp-hpux11=geometry-solaris-precision

Ugh, but ...

Please check that's OK on 11, and I'll double check it on 10.

I get:

test geometry ... FAILED
test horology ... trouble
============== shutting down postmaster ==============

=======================
1 of 37 tests failed.
=======================

Looks like geometry.out gets used.

Tried again with:
geometry/hppa2.0w-hp-hpux11.00=geometry-solaris-precision

and get:

======================
All 79 tests passed.
======================

So maybe it should be:
geometry/hppa.*-hp-hpux11.*=geometry-solaris-precision

yup:
======================
All 79 tests passed.
======================

Do you want a patch?

Joe

#34Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joe Conway (#33)
Re: Second call for platform testing

Joe Conway <joseph.conway@home.com> writes:

So maybe it should be:
geometry/hppa.*-hp-hpux11.*=geometry-solaris-precision

Mmm, probably so.

Do you want a patch?

I can take it from here. Thanks!

regards, tom lane

#35Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

OK, the list is getting smaller fast (thanks for all of the responses!).
Here is what I have left currently (note the addition of NetBSD/sparc,
which I had inadvertently omitted from the first list):

BeOS Cyril Velter
Linux/arm Mark Knox
Linux/s390 Neale Ferguson
NetBSD/arm32 Patrick Welche
NetBSD/m68k Bill Studenmund (will test)
NetBSD/sparc Matthew Green (left off the first list)
NetBSD/VAX Tom I. Helbekkmo
QNX (did I get a definitive report for 4.x already?)
SunOS Tatsuo Ishii (old release; still relevant?)

I tried 7.2b3 on SunOS 4.1.4 with gcc 2.7.1. It gives a comile error:

gcc -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/include
-c pmsignal.c -o pmsignal.o
pmsignal.c:38: parse error before `*'
pmsignal.c:38: warning: data definition has no type or storage class
pmsignal.c: In function `PMSignalInit':
pmsignal.c:47: `sig_atomic_t' undeclared (first use this function)
pmsignal.c:47: (Each undeclared identifier is reported only once
pmsignal.c:47: for each function it appears in.)
pmsignal.c:47: parse error before `)'
--
Tatsuo Ishii

#36Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tatsuo Ishii (#35)
Re: Second call for platform testing

Tatsuo Ishii <t-ishii@sra.co.jp> writes:

I tried 7.2b3 on SunOS 4.1.4 with gcc 2.7.1. It gives a comile error:

pmsignal.c:47: `sig_atomic_t' undeclared (first use this function)

sig_atomic_t is required by ANSI C to be declared in <signal.h>.
Is it declared anywhere in the SunOS system headers?

I suppose we could create a configure test that detects this,
but I wonder how long we want to go on supporting platforms whose
headers aren't even minimally ANSI-compliant.

regards, tom lane

#37Mark Knox
segfault@hardline.org
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

Linux/arm Mark Knox

Had a look at 7.2b3 and sadly it's failing several tests. I saw several
"ERROR: PGSTAT: Creation of DB hash table failed" which I haven't seen before.

Geometry fails as usual due to some minor rounding. The others are
completely wrong. I'm afraid I don't have much time to look at this right
now (sorry) but I've attached the regression output and diffs if anyone
wants to check them.

(Note: any responses should probably be addressed to me directly as well as
to the list.. I will likely miss them otherwise. Thanks.)

__ .--------.
|==|| | -( Mark 'segfault' Knox )-
|==||________|
|::| __====__`. .'`. "Unix *is* user-friendly.. it's just
|__|/::::::::\ ~ (_) picky about its friends."

#38Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#11)
1 attachment(s)
Re: Second call for platform testing

Tom Lane writes:

"Cyril VELTER" <cyril.velter@libertysurf.fr> writes:

What modification should be made to configure.in to make it include
SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

This looks like a bit of a pain. We're currently using AC_CHECK_SIZEOF
to make those probes, apparently because it's the closest standard macro
to what we want. But it's not close enough. It doesn't include
anything except <stdio.h>. I don't think we can fix this except by
making our own macro. Peter, any opinion about how to do it?

OK, I bit the bullet and made up a whole new macro for type testing.
Those who can't get at a new snapshot can try the attached patch.

I have included <stdio.h> because that appears to effect the definition of
the types in question on AIX; apparently it pulls in <inttypes.h> somehow.

Please check this on AIX and BeOS.

--
Peter Eisentraut peter_e@gmx.net

Attachments:

typecheck-patchtext/plain; charset=US-ASCII; name=typecheck-patchDownload
diff -x configure -ru ../pgsql-master/config/c-compiler.m4 ./config/c-compiler.m4
--- ../pgsql-master/config/c-compiler.m4	Mon May 28 19:33:09 2001
+++ ./config/c-compiler.m4	Sat Dec  1 22:19:27 2001
@@ -117,3 +117,34 @@
 undefine([AC_TYPE_NAME])dnl
 undefine([AC_CV_NAME])dnl
 ])# PGAC_CHECK_ALIGNOF
+
+
+# PGAC_CHECK_TYPE(TYPE, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [INCLUDES])
+# ---------------------------------------------------------------------------
+
+AC_DEFUN([PGAC_CHECK_TYPE],
+[changequote(<<,>>)dnl
+dnl The name to #define
+define(<<AC_TYPE_NAME>>, translit(have_$1, [a-z *], [A-Z_P]))dnl
+dnl The cache variable name.
+define(<<AC_CV_NAME>>, translit(pgac_cv_have_$1, [ *], [_p]))dnl
+changequote([, ])dnl
+AC_CACHE_CHECK([for $1], AC_CV_NAME,
+[AC_TRY_COMPILE([$4],
+[if (($1 *) 0)
+  return 0;
+if (sizeof ($1))
+  return 0;],
+AC_CV_NAME[=yes],
+AC_CV_NAME[=no])])
+if test "$AC_CV_NAME" = yes; then
+  AC_DEFINE(AC_TYPE_NAME, 1, [Define to 1 if you have `]$1['])
+  ifelse($2,,,[$2
+])[]dnl
+ifelse($3,,,[else
+  $3
+])[]dnl
+fi
+undefine([AC_TYPE_NAME])dnl
+undefine([AC_CV_NAME])dnl
+])# PGAC_CHECK_TYPE
diff -x configure -ru ../pgsql-master/configure.in ./configure.in
--- ../pgsql-master/configure.in	Sun Nov 25 23:20:29 2001
+++ ./configure.in	Sat Dec  1 22:58:57 2001
@@ -1169,13 +1169,21 @@
 fi
 AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any type])
 
+
 # Some platforms predefine the types int8, int16, etc.  Only check
-# a (hopefully) representative subset.  Don't use AC_CHECK_TYPE, which
-# doesn't work the way we want to.
-AC_CHECK_SIZEOF(int8, 0)
-AC_CHECK_SIZEOF(uint8, 0)
-AC_CHECK_SIZEOF(int64, 0)
-AC_CHECK_SIZEOF(uint64, 0)
+# a (hopefully) representative subset.
+
+pgac_type_includes="\
+#include <stdio.h>
+#ifdef HAVE_SUPPORTDEFS_H
+#include <SupportDefs.h>
+#endif"
+
+PGAC_CHECK_TYPE(int8, [], [], [$pgac_type_includes])
+PGAC_CHECK_TYPE(uint8, [], [], [$pgac_type_includes])
+PGAC_CHECK_TYPE(int64, [], [], [$pgac_type_includes])
+PGAC_CHECK_TYPE(uint64, [], [], [$pgac_type_includes])
+
 
 PGAC_FUNC_POSIX_SIGNALS
 
diff -x configure -ru ../pgsql-master/src/include/c.h ./src/include/c.h
--- ../pgsql-master/src/include/c.h	Fri Nov 16 17:41:40 2001
+++ ./src/include/c.h	Sat Dec  1 22:35:05 2001
@@ -205,11 +205,11 @@
  *		used for numerical computations and the
  *		frontend/backend protocol.
  */
-#if SIZEOF_INT8 == 0
+#ifndef HAVE_INT8
 typedef signed char int8;		/* == 8 bits */
 typedef signed short int16;		/* == 16 bits */
 typedef signed int int32;		/* == 32 bits */
-#endif   /* SIZEOF_INT8 == 0 */
+#endif /* not HAVE_INT8 */
 
 /*
  * uintN
@@ -218,11 +218,11 @@
  *		frontend/backend protocol.
  */
 /* Also defined in interfaces/odbc/md5.h */
-#if SIZEOF_UINT8 == 0
+#ifndef HAVE_UINT8
 typedef unsigned char uint8;	/* == 8 bits */
 typedef unsigned short uint16;	/* == 16 bits */
 typedef unsigned int uint32;	/* == 32 bits */
-#endif   /* SIZEOF_UINT8 == 0 */
+#endif /* not HAVE_UINT8 */
 
 /*
  * boolN
@@ -270,35 +270,37 @@
  */
 #ifdef HAVE_LONG_INT_64
 /* Plain "long int" fits, use it */
-#if SIZEOF_INT64 == 0
+
+#ifndef HAVE_INT64
 typedef long int int64;
 #endif
-#if SIZEOF_UINT64 == 0
+#ifndef HAVE_UINT64
 typedef unsigned long int uint64;
 #endif
 
-#else
-#ifdef HAVE_LONG_LONG_INT_64
+#elif defined(HAVE_LONG_LONG_INT_64)
 /* We have working support for "long long int", use that */
-#if SIZEOF_INT64 == 0
+
+#ifndef HAVE_INT64
 typedef long long int int64;
 #endif
-#if SIZEOF_UINT64 == 0
+#ifndef HAVE_UINT64
 typedef unsigned long long int uint64;
 #endif
 
-#else
+#else /* not HAVE_LONG_INT_64 and not HAVE_LONG_LONG_INT_64 */
+
 /* Won't actually work, but fall back to long int so that code compiles */
-#if SIZEOF_INT64 == 0
+#ifndef HAVE_INT64
 typedef long int int64;
 #endif
-#if SIZEOF_UINT64 == 0
+#ifndef HAVE_UINT64
 typedef unsigned long int uint64;
 #endif
 
 #define INT64_IS_BUSTED
-#endif
-#endif
+
+#endif /* not HAVE_LONG_INT_64 and not HAVE_LONG_LONG_INT_64 */
 
 /*
  * Size
diff -x configure -ru ../pgsql-master/src/include/pg_config.h.in ./src/include/pg_config.h.in
--- ../pgsql-master/src/include/pg_config.h.in	Fri Nov 16 17:41:40 2001
+++ ./src/include/pg_config.h.in	Sat Dec  1 22:25:07 2001
@@ -697,10 +697,10 @@
 /* Define if you have on_exit() */
 #undef HAVE_ON_EXIT
 
-#undef SIZEOF_INT8
-#undef SIZEOF_UINT8
-#undef SIZEOF_INT64
-#undef SIZEOF_UINT64
+#undef HAVE_INT8
+#undef HAVE_UINT8
+#undef HAVE_INT64
+#undef HAVE_UINT64
 
 /*
  *------------------------------------------------------------------------
diff -x configure -ru ../pgsql-master/src/interfaces/odbc/md5.h ./src/interfaces/odbc/md5.h
--- ../pgsql-master/src/interfaces/odbc/md5.h	Wed Nov 28 22:10:11 2001
+++ ./src/interfaces/odbc/md5.h	Sat Dec  1 22:43:57 2001
@@ -36,11 +36,11 @@
 #endif   /* __BEOS__ */
 
 /* Also defined in include/c.h */
-#if SIZEOF_UINT8 == 0
+#ifndef HAVE_UINT8
 typedef unsigned char uint8;	/* == 8 bits */
 typedef unsigned short uint16;	/* == 16 bits */
 typedef unsigned int uint32;	/* == 32 bits */
-#endif   /* SIZEOF_UINT8 == 0 */
+#endif /* not HAVE_UINT8 */
 
 extern bool md5_hash(const void *buff, size_t len, char *hexsum);
 extern bool EncryptMD5(const char *passwd, const char *salt,
#39matthew green
mrg@eterna.com.au
In reply to: Thomas Lockhart (#1)
Re: Second call for platform testing

NetBSD/sparc Matthew Green (left off the first list)

`gmake check' gets:

======================
All 79 tests passed.
======================

on both netbsd/sparc & netbsd/sparc64.

.mrg.

#40Zeugswetter Andreas SB SD
ZeugswetterA@spardat.at
In reply to: matthew green (#39)
Re: Second call for platform testing

What modification should be made to configure.in to make it

include

SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

OK, I bit the bullet and made up a whole new macro for type testing.
Those who can't get at a new snapshot can try the attached patch.

I have included <stdio.h> because that appears to effect the

definition of

the types in question on AIX; apparently it pulls in <inttypes.h>

somehow.

Correct. stdio.h pulls sys/types.h which then pulls sys/inttypes.h ==
inttypes.h.

Please check this on AIX and BeOS.

Works like a charm on AIX :-) (Tested snapshot of 3 Dec 4:01)
I think it is also a gain, since it does not confuse people looking at
configure output.

Thank you Peter
Andreas

#41Thomas Lockhart
lockhart@fourpalms.org
In reply to: matthew green (#39)
Re: Second call for platform testing

`gmake check' gets:
All 79 tests passed.
on both netbsd/sparc & netbsd/sparc64.

Great. Thanks!

- Thomas

#42Thomas Lockhart
lockhart@fourpalms.org
In reply to: Mark Knox (#37)
Re: Second call for platform testing

Linux/arm Mark Knox

Had a look at 7.2b3 and sadly it's failing several tests. I saw several
"ERROR: PGSTAT: Creation of DB hash table failed" which I haven't seen before.
Geometry fails as usual due to some minor rounding. The others are
completely wrong. I'm afraid I don't have much time to look at this right
now (sorry) but I've attached the regression output and diffs if anyone
wants to check them.

Most (or at least some; didn't count them up) of these look like
ordering differences on results which are not guaranteed to be ordered,
so are OK.

The DB hash table trouble looks significant, but I don't know about that
area of the code.

Anyone?

- Thomas

#43Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tatsuo Ishii (#35)
Re: Second call for platform testing

Tatsuo Ishii <t-ishii@sra.co.jp> writes:

I tried 7.2b3 on SunOS 4.1.4 with gcc 2.7.1. It gives a comile error:

I've added a configure test for sig_atomic_t, if you want to try again
with CVS tip.

regards, tom lane

#44Tom Lane
tgl@sss.pgh.pa.us
In reply to: Mark Knox (#37)
Re: Second call for platform testing

Mark Knox <segfault@hardline.org> writes:

Had a look at 7.2b3 and sadly it's failing several tests. I saw several
"ERROR: PGSTAT: Creation of DB hash table failed" which I haven't seen before.

Ugh. If you don't have time to dig into that, can you provide a login
on your machine for someone else to look at it?

regards, tom lane

#45Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tom Lane (#44)
Re: Second call for platform testing

Mark Knox <segfault@hardline.org> writes:

Had a look at 7.2b3 and sadly it's failing several tests. I saw several
"ERROR: PGSTAT: Creation of DB hash table failed" which I haven't seen before.

That error is coming from the following ugly coding:

*dbhash = hash_create("Databases hash", PGSTAT_DB_HASH_SIZE, &hash_ctl,
HASH_ELEM | HASH_FUNCTION | mcxt_flags);
if (pgStatDBHash == NULL)
/* raise error */

AFAICT dbhash always points at the static variable pgStatDBHash, so the
code is not quite incorrect, though it's certainly trouble waiting to
happen as soon as someone changes things so that dbhash might point
elsewhere. What I'm wondering is if your compiler is missing the
potential for aliasing and is emitting code that loads pgStatDBHash
before the store through dbhash occurs. Does it help if you change
the second line (line 2094 in src/backend/postmaster/pgstat.c) to:

if (*dbhash == NULL)

I'm going to commit this change in CVS anyway, but I'm wondering if it
explains your problem or not.

regards, tom lane

#46Mark Knox
markk@pixin.net
In reply to: Tom Lane (#45)
Re: Second call for platform testing

On Mon, Dec 03, 2001 at 02:01:30PM -0500, Tom Lane wrote:

That error is coming from the following ugly coding:

*dbhash = hash_create("Databases hash", PGSTAT_DB_HASH_SIZE, &hash_ctl,
HASH_ELEM | HASH_FUNCTION | mcxt_flags);
if (pgStatDBHash == NULL)
/* raise error */

Interesting...

AFAICT dbhash always points at the static variable pgStatDBHash, so the
code is not quite incorrect, though it's certainly trouble waiting to
happen as soon as someone changes things so that dbhash might point
elsewhere. What I'm wondering is if your compiler is missing the

Possibly.. it's not the most recent by any means, but it generally behaves
well. Unfortunately, nobody is maintaining the arm gcc toolchain anymore (as
far as I know).

before the store through dbhash occurs. Does it help if you change
the second line (line 2094 in src/backend/postmaster/pgstat.c) to:

if (*dbhash == NULL)

I'm going to commit this change in CVS anyway, but I'm wondering if it
explains your problem or not.

I'll give it a shot later tonight and let you know. Thanks for having a
look.

--
__ .--------.
|==|| | -( Mark 'segfault' Knox )-
|==||________|
|::| __====__`. .'`. "Unix *is* user-friendly.. it's just
|__|/::::::::\ ~ (_) picky about its friends."

#47Tatsuo Ishii
t-ishii@sra.co.jp
In reply to: Tom Lane (#43)
Re: Second call for platform testing

Tatsuo Ishii <t-ishii@sra.co.jp> writes:

I tried 7.2b3 on SunOS 4.1.4 with gcc 2.7.1. It gives a comile error:

I've added a configure test for sig_atomic_t, if you want to try again
with CVS tip.

Thanks. But compiling fails again:

formatting.c: In function `NUM_processor':
formatting.c:4143: invalid operands to binary +
formatting.c:4153: invalid operands to binary +
formatting.c: In function `float4_to_char':
formatting.c:4667: warning: assignment makes integer from pointer without a cast
formatting.c: In function `float8_to_char':
formatting.c:4746: warning: assignment makes integer from pointer without a cast
gmake[4]: *** [formatting.o] Error 1
gmake[4]: Leaving directory `/mnt2/tmp/pgsql/src/backend/utils/adt'
gmake[3]: *** [adt-recursive] Error 2
gmake[3]: Leaving directory `/mnt2/tmp/pgsql/src/backend/utils'
gmake[2]: *** [utils-recursive] Error 2
gmake[2]: Leaving directory `/mnt2/tmp/pgsql/src/backend'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/mnt2/tmp/pgsql/src'
gmake: *** [all] Error 2

It seems the code assumes sprintf always returns an integer (this is
not true for SunOS). I will fix it in more portable way.
--
Tatsuo Ishii

#48Karel Zak
zakkr@zf.jcu.cz
In reply to: Tatsuo Ishii (#47)
Re: Second call for platform testing

On Tue, Dec 04, 2001 at 03:15:58PM +0900, Tatsuo Ishii wrote:

It seems the code assumes sprintf always returns an integer (this is
not true for SunOS). I will fix it in more portable way.

It's interesting OS :-) I see "CONFORMING TO" part of sprintf manual
and it's ANSI C and ISO/IEC function....

Is anywhere (URL) summary of difference between basic C functions in
basic OS?

Thanks for fix Tatsuo.

Karel
--
Karel Zak <zakkr@zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/

C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz

#49Cyril VELTER
cyril.velter@libertysurf.fr
In reply to: Zeugswetter Andreas SB SD (#40)
Re: Second call for platform testing

What modification should be made to configure.in to make it

include

SupportDefs.h when testing for int8 uint8 int64 and uint64 size ?

OK, I bit the bullet and made up a whole new macro for type testing.
Those who can't get at a new snapshot can try the attached patch.

I have included <stdio.h> because that appears to effect the

definition of

the types in question on AIX; apparently it pulls in <inttypes.h>

somehow.

Correct. stdio.h pulls sys/types.h which then pulls sys/inttypes.h ==
inttypes.h.

Please check this on AIX and BeOS.

The detection now works on BEOS

thanks

cyril

#50Hiroshi Inoue
Inoue@tpf.co.jp
In reply to: Hiroshi Inoue (#31)
Re: Second call for platform testing

Hiroshi Inoue wrote:

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]

Hiroshi Inoue <Inoue@tpf.co.jp> writes:

I got a regression test result from Hiroshi Saito on
UNIX_System_V ews4800 4.2MP 4.2 R4000 r4000.

Seems INT64_IS_BUSTED, old PST ... etc and

*** ./expected/create_index.out     Tue Aug 28 08:23:34 JST 2001
--- ./results/create_index.out      Fri Nov 30 00:28:22 JST 2001
***************
*** 35,44 ****
--- 35,47 ----
--
CREATE INDEX onek2_u1_prtl ON onek2 USING btree(unique1 int4_ops)
where unique1 < 20 or unique1 > 980;
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f64f0
CREATE INDEX onek2_u2_prtl ON onek2 USING btree(unique2 int4_ops)
where stringu1 < 'B';
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f6390
CREATE INDEX onek2_stu1_prtl ON onek2 USING btree(stringu1 name_ops)
where onek2.stringu1 >= 'J' and onek2.stringu1 < 'K';
+ ERROR:  AllocSetFree: cannot find block containing chunk 4f6740

Interesting. Something nonportable in the partial index support,
perhaps?

Would you ask him to compile with debug support, set a breakpoint at
elog(), and get a backtrace from the point of the error?

Unfortunately he doesn't seem to be able to do it at once
though he would like to do it. If he is ready he may reply
to this thread directly.

Sorry for my late answer.
He has been working with the platform but hasn't yet
identify the cause. Unfortunately it seems too late
for 7.2 release.

regards,
Hiroshi Inoue

#51Tom Lane
tgl@sss.pgh.pa.us
In reply to: Hiroshi Inoue (#50)
Re: Second call for platform testing

Hiroshi Inoue <Inoue@tpf.co.jp> writes:

He has been working with the platform but hasn't yet
identify the cause. Unfortunately it seems too late
for 7.2 release.

Not necessarily ... we're still arguing what to do about the time
precision issue, and even if 7.2fc1 were out, I think a portability bug
would be cause for an update. Please encourage him to pursue it.

regards, tom lane

#52Mark Knox
segfault@hardline.org
In reply to: Tom Lane (#45)
Re: Second call for platform testing

change
the second line (line 2094 in src/backend/postmaster/pgstat.c) to:

if (*dbhash == NULL)

I'm going to commit this change in CVS anyway, but I'm wondering if it
explains your problem or not.

Yes it does, Tom! Nice work! I apologize for the delay in testing..
Christmas and all.

I guess I can report a success for 7.2b3 on Linux/arm.

__ .--------.
|==|| | -( Mark 'segfault' Knox )-
|==||________|
|::| __====__`. .'`. "Unix *is* user-friendly.. it's just
|__|/::::::::\ ~ (_) picky about its friends."

#53Christopher Kings-Lynne
chriskl@familyhealth.com.au
In reply to: Mark Knox (#52)
Re: Second call for platform testing

I'm going to commit this change in CVS anyway, but I'm wondering if it
explains your problem or not.

Yes it does, Tom! Nice work! I apologize for the delay in testing..
Christmas and all.

I guess I can report a success for 7.2b3 on Linux/arm.

I've just got hold of a FreeBSD/alpha box - hopefully I'll be able to test
by the end of the week...

Chris

#54Thomas Lockhart
lockhart@fourpalms.org
In reply to: Tom Lane (#44)
Re: Second call for platform testing

I guess I can report a success for 7.2b3 on Linux/arm.

Great! Thanks for the work; I'll update the list...

- Thomas