Lists: | pgsql-ports |
---|
From: | "J6M" <j6m(at)adm(dot)estp(dot)fr> |
---|---|
To: | <pgsql-ports(at)postgresql(dot)org> |
Subject: | Building 8.3 beta 4 stops on (at least) 2 errors |
Date: | 2008-01-07 15:42:48 |
Message-ID: | 008b01c85143$f875af6000020a@eden.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | Postg범퍼카 토토SQL |
Hi,
I tried to compile PG8.3b4 for a test run on a R/S 6K running AIX 4.3
(powerpc-ibm-aix4.3.3.0)
(Of course, make was replaced with a compiled verstion of GNUmake)
Here are the step by step operations once having detarred the package
1 - Edition of ./src/include/pg_config_manual.h
Setting BLCKSZ to 16384 (has to get records from a mainframe)
2 - ./configure --prefix=/tmp/pg83b4 --without-readline --without-zlib
3 - make
3.1 - First error happens when compiling tsquery.c
xlc -O2 -qmaxmem=16384 -qsrcmsg -qlonglong -qnoansialias -I../../../../src/include
-c -o tsquery.o tsquery.c
108 | PT_CLOSE = 5,
....................a
a - 1506-275 (S) Unexpected text ',' encountered.
The file shows :
/*
* token types for parsing
*/
typedef enum
{
PT_END = 0,
PT_ERR = 1,
PT_VAL = 2,
PT_OPR = 3,
PT_OPEN = 4,
PT_CLOSE = 5,
} ts_tokentype;
3.2 - I manually removed the offending comma and carried on the building
process (expecting a major flaw to be detected at the 'make check' stage
Then the building process stops on ecpg/informix.c
xlc -O2 -qmaxmem=16384 -qsrcmsg -qlonglong -qnoansialias -I../include -I../../../../src/interfaces/ecpg/include
-I../../../../src/interfaces/libpq -I../../../../src/include/utils -I../../../../src/include
-c -o informix.o informix.c
"/usr/include/stdio.h", line 434.12: 1506-343 (S) Redeclaration of fgetpos64
differs from previous declaration on line 274 of "/usr/include/stdio.h".
"/usr/include/stdio.h", line 434.12: 1506-377 (I) The type "long long*" of
parameter 2 differs from the previous type "long*".
"/usr/include/stdio.h", line 437.12: 1506-343 (S) Redeclaration of fseeko64
differs from previous declaration on line 380 of "/usr/include/stdio.h".
"/usr/include/stdio.h", line 437.12: 1506-377 (I) The type "long long" of
parameter 2 differs from the previous type "long".
"/usr/include/stdio.h", line 438.12: 1506-343 (S) Redeclaration of fsetpos64
differs from previous declaration on line 276 of "/usr/include/stdio.h".
"/usr/include/stdio.h", line 438.12: 1506-377 (I) The type "const long
long*" of parameter 2 differs from the previous type "const long*".
"/usr/include/stdio.h", line 439.16: 1506-343 (S) Redeclaration of ftello64
differs from previous declaration on line 381 of "/usr/include/stdio.h".
"/usr/include/stdio.h", line 439.16: 1506-050 (I) Return type "long long" in
redeclaration is not compatible with the previous return type "long".
make[4]: *** [informix.o] Error 1
make[4]: Leaving directory
`/home/lib2/postgres/postgresql-8.3beta4/src/interfaces/ecpg/compatlib'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/home/lib2/postgres/postgresql-8.3beta4/src/interfaces/ecpg'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/home/lib2/postgres/postgresql-8.3beta4/src/interfaces'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/lib2/postgres/postgresql-8.3beta4/src'
make: *** [all] Error 2
I ll try again, time permitting, tomorrow with the newly uploaded RC1. I
had no problem with 8.2.5 and 8.1.10.
Regards
J6M
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "J6M" <j6m(at)adm(dot)estp(dot)fr> |
Cc: | pgsql-ports(at)postgresql(dot)org |
Subject: | Re: Building 8.3 beta 4 stops on (at least) 2 errors |
Date: | 2008-01-08 01:20:02 |
Message-ID: | 28604.1199755202@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-ports |
"J6M" <j6m(at)adm(dot)estp(dot)fr> writes:
> xlc -O2 -qmaxmem=16384 -qsrcmsg -qlonglong -qnoansialias -I../../../../src/include
> -c -o tsquery.o tsquery.c
> 108 | PT_CLOSE = 5,
> ....................a
> a - 1506-275 (S) Unexpected text ',' encountered.
Some compilers are picky about extra commas in enum lists, some aren't.
I guess we have not currently got any in the buildfarm that are.
> xlc -O2 -qmaxmem=16384 -qsrcmsg -qlonglong -qnoansialias -I../include -I../../../../src/interfaces/ecpg/include
> -I../../../../src/interfaces/libpq -I../../../../src/include/utils -I../../../../src/include
> -c -o informix.o informix.c
> "/usr/include/stdio.h", line 434.12: 1506-343 (S) Redeclaration of fgetpos64
> differs from previous declaration on line 274 of "/usr/include/stdio.h".
> "/usr/include/stdio.h", line 434.12: 1506-377 (I) The type "long long*" of
> parameter 2 differs from the previous type "long*".
The problem here seems to be that informix.c was violating our coding
rule that no system headers may be included before c.h (or in this case,
postgres_fe.h). Please change the first few lines of the file to
this ordering:
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
#include <math.h>
#include <ctype.h>
#include <limits.h>
#include <ecpgtype.h>
...
and see if it doesn't work then.
BTW, it seems we do not have any buildfarm members running xlc.
If you can spare the cycles to build PG once a day or so, please
consider joining the buildfarm so these types of portability issues
can be caught sooner.
http://www.pgbuildfarm.org/index.html
regards, tom lane
From: | "J6M" <j6m(at)adm(dot)estp(dot)fr> |
---|---|
To: | <pgsql-ports(at)postgresql(dot)org> |
Subject: | Re: Building 8.3 beta 4 stops on (at least) 2 errors |
Date: | 2008-01-09 10:48:11 |
Message-ID: | 001801c852b1c4a9e000020a@eden.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-ports |
Hi,
Thanks. The build for 8.3RC1 worked and all regression tests were passed.
Regards
J6M
----- Original Message -----
From: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "J6M" <j6m(at)adm(dot)estp(dot)fr>
Cc: <pgsql-ports(at)postgresql(dot)org>
Sent: Tuesday, January 08, 2008 2:20 AM
Subject: Re: [PORTS] Building 8.3 beta 4 stops on (at least) 2 errors
> "J6M" <j6m(at)adm(dot)estp(dot)fr> writes:
>> xlc -O2 -qmaxmem=16384 -qsrcmsg -qlonglong -qnoansialias -I../../../../src/include
>> -c -o tsquery.o tsquery.c
>> 108 | PT_CLOSE = 5,
>> ....................a
>> a - 1506-275 (S) Unexpected text ',' encountered.
>
> Some compilers are picky about extra commas in enum lists, some aren't.
> I guess we have not currently got any in the buildfarm that are.
>
>> xlc -O2 -qmaxmem=16384 -qsrcmsg -qlonglong -qnoansialias -I../include
>> -I../../../../src/interfaces/ecpg/include
>> -I../../../../src/interfaces/libpq -I../../../../src/include/utils -I../../../../src/include
>> -c -o informix.o informix.c
>> "/usr/include/stdio.h", line 434.12: 1506-343 (S) Redeclaration of
>> fgetpos64
>> differs from previous declaration on line 274 of "/usr/include/stdio.h".
>> "/usr/include/stdio.h", line 434.12: 1506-377 (I) The type "long long*"
>> of
>> parameter 2 differs from the previous type "long*".
>
> The problem here seems to be that informix.c was violating our coding
> rule that no system headers may be included before c.h (or in this case,
> postgres_fe.h). Please change the first few lines of the file to
> this ordering:
>
> #define POSTGRES_ECPG_INTERNAL
> #include "postgres_fe.h"
>
> #include <math.h>
> #include <ctype.h>
> #include <limits.h>
>
> #include <ecpgtype.h>
> ...
>
> and see if it doesn't work then.
>
> BTW, it seems we do not have any buildfarm members running xlc.
> If you can spare the cycles to build PG once a day or so, please
> consider joining the buildfarm so these types of portability issues
> can be caught sooner.
> http://www.pgbuildfarm.org/index.html
>
> regards, tom lane