Home > Archive > Porting PostgreSQL > June 2005 > pthreads issue when compiling 7.4.8 on AIX 5.3









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author pthreads issue when compiling 7.4.8 on AIX 5.3
Andrew Hammond

2005-06-16, 8:25 pm

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm seeing the following errors when compiling postgres 7.4.8 (vanilla)
on AIX 5.3

make[2]: Entering directory `/opt/src/postgresql-7.4.8/src/port'
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
- -Wmissing-declarations -I../../src/include -I/opt/dbs/readline/include
- -I/opt/dbs/zlib/include -I/opt/freeware/include -c thread.c
In file included from thread.c:25:
/usr/include/pthread.h:652: error: parse error before '*' token
/usr/include/pthread.h:655: error: parse error before '*' token
/usr/include/pthread.h:658: error: parse error before '*' token
/usr/include/pthread.h:661: error: parse error before '*' token
/usr/include/pthread.h:664: error: parse error before '*' token
/usr/include/pthread.h:672: error: parse error before '*' token
/usr/include/pthread.h:675: error: parse error before '*' token
/usr/include/pthread.h:678: error: parse error before '*' token
/usr/include/pthread.h:681: error: parse error before '*' token
/usr/include/pthread.h:689: error: parse error before '*' token
/usr/include/pthread.h:693: error: parse error before '*' token
/usr/include/pthread.h:696: error: parse error before '*' token
make[2]: *** [thread.o] Error 1
make[2]: Leaving directory `/opt/src/postgresql-7.4.8/src/port'

I've looked into pthread.h and it's refereing to pthread_barrier_t,
pthread_barrierattr_
t and pthread_spinlock_t. These do not exist in
pthread.h on our 5.1 box. However they are defined in sys/types.h which
is included up near the top pthread.h.

I'm somewhat at a loss about where this could be going wrong.

Configure options follow

../configure --prefix=/opt/dbs/pgsql748-slony105-AIX53-2005-06-13
-
--with-includes=/opt/dbs/readline/include:/opt/dbs/zlib/include:/usr/ccs/include:/opt/freeware/include:/usr/local/include
-
--with-libraries=/opt/dbs/readline/lib:/opt/dbs/zlib/lib:/usr/ccs/lib:/opt/freeware/lib:/usr/local/lib
- --enable-thread-safety --enable-debug --enable-aix64

Note that this binary will need to have slony support which is why the
- --enable-thread-safety. We've had success compiling postgres on AIX 5.1
with identical settings. We're using gcc 3.3.2

The thread_test program fails identically:

- -bash-2.05b$ make
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
- -Wmissing-declarations -I../../../src/include
- -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
- -I/opt/freeware/include -c -o thread_test.o thread_test.c
In file included from thread_test.c:23:
/usr/include/pthread.h:652: error: parse error before '*' token
/usr/include/pthread.h:655: error: parse error before '*' token
/usr/include/pthread.h:658: error: parse error before '*' token
/usr/include/pthread.h:661: error: parse error before '*' token
/usr/include/pthread.h:664: error: parse error before '*' token
/usr/include/pthread.h:672: error: parse error before '*' token
/usr/include/pthread.h:675: error: parse error before '*' token
/usr/include/pthread.h:678: error: parse error before '*' token
/usr/include/pthread.h:681: error: parse error before '*' token
/usr/include/pthread.h:689: error: parse error before '*' token
/usr/include/pthread.h:693: error: parse error before '*' token
/usr/include/pthread.h:696: error: parse error before '*' token
make: *** [thread_test.o] Error 1

- --
Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
Database Administrator, Afilias Canada Corp.
CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCsd5bgfzn5Sev
SpoRAhKzAKC0m1lTZ96b
zkpDB4grSGfOTbh3QACg
gNjo
E0PIJkYA5zSTD3Q3z7LQ
MmM=
=ax+Z
-----END PGP SIGNATURE-----

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)

Mohan, Ross

2005-06-16, 8:25 pm

Sorry to be dull-minded, but since PG is not threaded (at least on AIX)
and works fine, why would Slony (threaded or not) have a problem? There
aren't likely to be thread-to-thread interactions, eg.


-----Original Message-----
From: pgsql-ports-owner@postgresql.org [mailto:pgsql-ports-owner@postgresql.org] On Behalf Of Andrew Hammond
Sent: Thursday, June 16, 2005 4:18 PM
To: pgsql-ports@postgresql.org
Subject: [PORTS] pthreads issue when compiling 7.4.8 on AIX 5.3


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm seeing the following errors when compiling postgres 7.4.8 (vanilla) on AIX 5.3

make[2]: Entering directory `/opt/src/postgresql-7.4.8/src/port'
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
- -Wmissing-declarations -I../../src/include -I/opt/dbs/readline/include
- -I/opt/dbs/zlib/include -I/opt/freeware/include -c thread.c In file included from thread.c:25:
/usr/include/pthread.h:652: error: parse error before '*' token
/usr/include/pthread.h:655: error: parse error before '*' token
/usr/include/pthread.h:658: error: parse error before '*' token
/usr/include/pthread.h:661: error: parse error before '*' token
/usr/include/pthread.h:664: error: parse error before '*' token
/usr/include/pthread.h:672: error: parse error before '*' token
/usr/include/pthread.h:675: error: parse error before '*' token
/usr/include/pthread.h:678: error: parse error before '*' token
/usr/include/pthread.h:681: error: parse error before '*' token
/usr/include/pthread.h:689: error: parse error before '*' token
/usr/include/pthread.h:693: error: parse error before '*' token
/usr/include/pthread.h:696: error: parse error before '*' token
make[2]: *** [thread.o] Error 1
make[2]: Leaving directory `/opt/src/postgresql-7.4.8/src/port'

I've looked into pthread.h and it's refereing to pthread_barrier_t, pthread_barrierattr_
t and pthread_spinlock_t. These do not exist in pthread.h on our 5.1 box. However they are defined in sys/types.h which is included up near the top pthread.h.

I'm somewhat at a loss about where this could be going wrong.

Configure options follow

../configure --prefix=/opt/dbs/pgsql748-slony105-AIX53-2005-06-13
- --with-includes=/opt/dbs/readline/include:/opt/dbs/zlib/include:/usr/ccs/include:/opt/freeware/include:/usr/local/include
- --with-libraries=/opt/dbs/readline/lib:/opt/dbs/zlib/lib:/usr/ccs/lib:/opt/freeware/lib:/usr/local/lib
- --enable-thread-safety --enable-debug --enable-aix64

Note that this binary will need to have slony support which is why the
- --enable-thread-safety. We've had success compiling postgres on AIX 5.1 with identical settings. We're using gcc 3.3.2

The thread_test program fails identically:

- -bash-2.05b$ make
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
- -Wmissing-declarations -I../../../src/include
- -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
- -I/opt/freeware/include -c -o thread_test.o thread_test.c
In file included from thread_test.c:23:
/usr/include/pthread.h:652: error: parse error before '*' token
/usr/include/pthread.h:655: error: parse error before '*' token
/usr/include/pthread.h:658: error: parse error before '*' token
/usr/include/pthread.h:661: error: parse error before '*' token
/usr/include/pthread.h:664: error: parse error before '*' token
/usr/include/pthread.h:672: error: parse error before '*' token
/usr/include/pthread.h:675: error: parse error before '*' token
/usr/include/pthread.h:678: error: parse error before '*' token
/usr/include/pthread.h:681: error: parse error before '*' token
/usr/include/pthread.h:689: error: parse error before '*' token
/usr/include/pthread.h:693: error: parse error before '*' token
/usr/include/pthread.h:696: error: parse error before '*' token
make: *** [thread_test.o] Error 1

- --
Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
Database Administrator, Afilias Canada Corp.
CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCsd5bgfzn5Sev
SpoRAhKzAKC0m1lTZ96b
zkpDB4grSGfOTbh3QACg
gNjo
E0PIJkYA5zSTD3Q3z7LQ
MmM=
=ax+Z
-----END PGP SIGNATURE-----

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)

Bruce Momjian

2005-06-16, 8:25 pm


I would look around in sys/types.h to see if there is a #define that is
preventing the symbol from being exported.

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

Andrew Hammond wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I'm seeing the following errors when compiling postgres 7.4.8 (vanilla)
> on AIX 5.3
>
> make[2]: Entering directory `/opt/src/postgresql-7.4.8/src/port'
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> - -Wmissing-declarations -I../../src/include -I/opt/dbs/readline/include
> - -I/opt/dbs/zlib/include -I/opt/freeware/include -c thread.c
> In file included from thread.c:25:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make[2]: *** [thread.o] Error 1
> make[2]: Leaving directory `/opt/src/postgresql-7.4.8/src/port'
>
> I've looked into pthread.h and it's refereing to pthread_barrier_t,
> pthread_barrierattr_
t and pthread_spinlock_t. These do not exist in
> pthread.h on our 5.1 box. However they are defined in sys/types.h which
> is included up near the top pthread.h.
>
> I'm somewhat at a loss about where this could be going wrong.
>
> Configure options follow
>
> ./configure --prefix=/opt/dbs/pgsql748-slony105-AIX53-2005-06-13
> -
> --with-includes=/opt/dbs/readline/include:/opt/dbs/zlib/include:/usr/ccs/include:/opt/freeware/include:/usr/local/include
> -
> --with-libraries=/opt/dbs/readline/lib:/opt/dbs/zlib/lib:/usr/ccs/lib:/opt/freeware/lib:/usr/local/lib
> - --enable-thread-safety --enable-debug --enable-aix64
>
> Note that this binary will need to have slony support which is why the
> - --enable-thread-safety. We've had success compiling postgres on AIX 5.1
> with identical settings. We're using gcc 3.3.2
>
> The thread_test program fails identically:
>
> - -bash-2.05b$ make
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> - -Wmissing-declarations -I../../../src/include
> - -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
> - -I/opt/freeware/include -c -o thread_test.o thread_test.c
> In file included from thread_test.c:23:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make: *** [thread_test.o] Error 1
>
> - --
> Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
> Database Administrator, Afilias Canada Corp.
> CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQFCsd5bgfzn5Sev
SpoRAhKzAKC0m1lTZ96b
zkpDB4grSGfOTbh3QACg
gNjo
> E0PIJkYA5zSTD3Q3z7LQ
MmM=
> =ax+Z
> -----END PGP SIGNATURE-----
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)
>


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

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

Bruce Momjian

2005-06-16, 8:25 pm

Mohan, Ross wrote:
> Sorry to be dull-minded, but since PG is not threaded (at least on AIX)
> and works fine, why would Slony (threaded or not) have a problem? There
> aren't likely to be thread-to-thread interactions, eg.


Slony uses a threaded libpq, which is what --enable-thread-safety does.

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


>
>
> -----Original Message-----
> From: pgsql-ports-owner@postgresql.org [mailto:pgsql-ports-owner@postgresql.org] On Behalf Of Andrew Hammond
> Sent: Thursday, June 16, 2005 4:18 PM
> To: pgsql-ports@postgresql.org
> Subject: [PORTS] pthreads issue when compiling 7.4.8 on AIX 5.3
>
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I'm seeing the following errors when compiling postgres 7.4.8 (vanilla) on AIX 5.3
>
> make[2]: Entering directory `/opt/src/postgresql-7.4.8/src/port'
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> - -Wmissing-declarations -I../../src/include -I/opt/dbs/readline/include
> - -I/opt/dbs/zlib/include -I/opt/freeware/include -c thread.c In file included from thread.c:25:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make[2]: *** [thread.o] Error 1
> make[2]: Leaving directory `/opt/src/postgresql-7.4.8/src/port'
>
> I've looked into pthread.h and it's refereing to pthread_barrier_t, pthread_barrierattr_
t and pthread_spinlock_t. These do not exist in pthread.h on our 5.1 box. However they are defined in sys/types.h which is included up near the top pthread.h.
>
> I'm somewhat at a loss about where this could be going wrong.
>
> Configure options follow
>
> ./configure --prefix=/opt/dbs/pgsql748-slony105-AIX53-2005-06-13
> - --with-includes=/opt/dbs/readline/include:/opt/dbs/zlib/include:/usr/ccs/include:/opt/freeware/include:/usr/local/include
> - --with-libraries=/opt/dbs/readline/lib:/opt/dbs/zlib/lib:/usr/ccs/lib:/opt/freeware/lib:/usr/local/lib
> - --enable-thread-safety --enable-debug --enable-aix64
>
> Note that this binary will need to have slony support which is why the
> - --enable-thread-safety. We've had success compiling postgres on AIX 5.1 with identical settings. We're using gcc 3.3.2
>
> The thread_test program fails identically:
>
> - -bash-2.05b$ make
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> - -Wmissing-declarations -I../../../src/include
> - -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
> - -I/opt/freeware/include -c -o thread_test.o thread_test.c
> In file included from thread_test.c:23:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make: *** [thread_test.o] Error 1
>
> - --
> Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
> Database Administrator, Afilias Canada Corp.
> CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQFCsd5bgfzn5Sev
SpoRAhKzAKC0m1lTZ96b
zkpDB4grSGfOTbh3QACg
gNjo
> E0PIJkYA5zSTD3Q3z7LQ
MmM=
> =ax+Z
> -----END PGP SIGNATURE-----
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)
>


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

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Mohan, Ross

2005-06-16, 8:25 pm

Wow...<light dawning on marble head>....so this means..if I want to
do replication, I'll need to rebuild PG with --enable-thread-safety?

that's unpleasant news, since, IIRC, it didn't like it at all, first
time through.

<sigh>

Thanks for heads up.


-----Original Message-----
From: Bruce Momjian & #91;mailto:pgman@can
dle.pha.pa.us]
Sent: Thursday, June 16, 2005 4:29 PM
To: Mohan, Ross
Cc: pgsql-ports@postgresql.org
Subject: Re: [PORTS] pthreads issue when compiling 7.4.8 on AIX 5.3


Mohan, Ross wrote:
> Sorry to be dull-minded, but since PG is not threaded (at least on
> AIX) and works fine, why would Slony (threaded or not) have a problem?
> There aren't likely to be thread-to-thread interactions, eg.


Slony uses a threaded libpq, which is what --enable-thread-safety does.

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


>
>
> -----Original Message-----
> From: pgsql-ports-owner@postgresql.org
> [mailto:pgsql-ports-owner@postgresql.org] On Behalf Of Andrew Hammond
> Sent: Thursday, June 16, 2005 4:18 PM
> To: pgsql-ports@postgresql.org
> Subject: [PORTS] pthreads issue when compiling 7.4.8 on AIX 5.3
>
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I'm seeing the following errors when compiling postgres 7.4.8
> (vanilla) on AIX 5.3
>
> make[2]: Entering directory `/opt/src/postgresql-7.4.8/src/port'
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> - -Wmissing-declarations -I../../src/include
> -I/opt/dbs/readline/include
> - -I/opt/dbs/zlib/include -I/opt/freeware/include -c thread.c In file included from thread.c:25:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make[2]: *** [thread.o] Error 1
> make[2]: Leaving directory `/opt/src/postgresql-7.4.8/src/port'
>
> I've looked into pthread.h and it's refereing to pthread_barrier_t,
> pthread_barrierattr_
t and pthread_spinlock_t. These do not exist in
> pthread.h on our 5.1 box. However they are defined in sys/types.h
> which is included up near the top pthread.h.
>
> I'm somewhat at a loss about where this could be going wrong.
>
> Configure options follow
>
> ./configure --prefix=/opt/dbs/pgsql748-slony105-AIX53-2005-06-13
> -
> --with-includes=/opt/dbs/readline/include:/opt/dbs/zlib/include:/usr/ccs/include:/opt/freeware/include:/usr/local/include
> - --with-libraries=/opt/dbs/readline/lib:/opt/dbs/zlib/lib:/usr/ccs/lib:/opt/freeware/lib:/usr/local/lib
> - --enable-thread-safety --enable-debug --enable-aix64
>
> Note that this binary will need to have slony support which is why the
> - --enable-thread-safety. We've had success compiling postgres on AIX
> 5.1 with identical settings. We're using gcc 3.3.2
>
> The thread_test program fails identically:
>
> - -bash-2.05b$ make
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> - -Wmissing-declarations -I../../../src/include
> - -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
> - -I/opt/freeware/include -c -o thread_test.o thread_test.c In file
> included from thread_test.c:23:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make: *** [thread_test.o] Error 1
>
> - --
> Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
> Database Administrator, Afilias Canada Corp.
> CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQFCsd5bgfzn5Sev
SpoRAhKzAKC0m1lTZ96b
zkpDB4grSGfOTbh3QACg
gNjo
> E0PIJkYA5zSTD3Q3z7LQ
MmM=
> =ax+Z
> -----END PGP SIGNATURE-----
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)
>


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

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql
.org so that your
message can get through to the mailing list cleanly

Andrew Hammond

2005-06-16, 8:25 pm

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sure enough, there's some _XOPEN_SOURCE magic around them:

#if (_XOPEN_SOURCE >= 600)
typedef struct
{
#ifdef __64BIT__
long __sp_word[3];
#else
int __sp_word[6];
#endif /* __64BIT__ */
}
pthread_spinlock_t;

typedef struct
{
#ifdef __64BIT__
long __br_word[5];
#else
int __br_word[8];
#endif /* __64BIT__ */
}
pthread_barrier_t;
#endif /* _XOPEN_SOURCE >= 600 */


#if (_XOPEN_SOURCE >= 600)
typedef void *pthread_barrierattr
_t;
#endif


So... I went hunting to see where _XOPEN_SOURCE is defined and found it
in standards.h which is included all over the place, including sys/types.h


/* If _XOPEN_SOURCE is defined without a value, or with a value less
* than 500 (UNIX98), then set a value, so that #if statements will
* work properly.
*/
#ifdef _XOPEN_SOURCE
#if ((_XOPEN_SOURCE + 0) < 500)
#undef _XOPEN_SOURCE
#define _XOPEN_SOURCE 1
#endif
#endif

#if defined(_UNIX03) || (_XOPEN_SOURCE==600)

#undef _XOPEN_SOURCE
#define _XOPEN_SOURCE 600
#undef _XOPEN_SOURCE_EXTEND
ED
#define _XOPEN_SOURCE_EXTEND
ED 1
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112L
#undef _THREAD_SAFE
#define _THREAD_SAFE
#endif

#if defined(_UNIX98) || (_XOPEN_SOURCE==500)

#undef _XOPEN_SOURCE
#define _XOPEN_SOURCE 500
#undef _XOPEN_SOURCE_EXTEND
ED
#define _XOPEN_SOURCE_EXTEND
ED 1
#endif

#ifdef _UNIX95
#undef _XOPEN_SOURCE_EXTEND
ED
#define _XOPEN_SOURCE_EXTEND
ED 1
#endif

#if (_XOPEN_SOURCE_EXTEN
DED==1)
#ifndef _XOPEN_SOURCE
#define _XOPEN_SOURCE 1
#endif /* _XOPEN_SOURCE */
#endif /* _XOPEN_SOURCE_EXTEND
ED */

#ifdef _XOPEN_SOURCE
#ifndef _POSIX_SOURCE
#define _POSIX_SOURCE
#endif
#endif


I also made sure that it's not being defined or undefined anywhere else
in the include paths. Then, I tried overriding the _XOPEN_SOURCE
variable on the command line for gcc, but, still no luck.

- -bash-2.05b$ gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
- -Wmissing-declarations -I../../../src/include
- -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
- -I/opt/freeware/include -D _XOPEN_SOURCE=600 -c -o thread_test.o
thread_test.c
In file included from thread_test.c:23:
/usr/include/pthread.h:652: error: parse error before '*' token
/usr/include/pthread.h:655: error: parse error before '*' token
/usr/include/pthread.h:658: error: parse error before '*' token
/usr/include/pthread.h:661: error: parse error before '*' token
/usr/include/pthread.h:664: error: parse error before '*' token
/usr/include/pthread.h:672: error: parse error before '*' token
/usr/include/pthread.h:675: error: parse error before '*' token
/usr/include/pthread.h:678: error: parse error before '*' token
/usr/include/pthread.h:681: error: parse error before '*' token
/usr/include/pthread.h:689: error: parse error before '*' token
/usr/include/pthread.h:693: error: parse error before '*' token
/usr/include/pthread.h:696: error: parse error before '*' token

I'd like to believe I'm missing something really obvious here... :)

- --
Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
Database Administrator, Afilias Canada Corp.
CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A


Bruce Momjian wrote:
> I would look around in sys/types.h to see if there is a #define that is
> preventing the symbol from being exported.
>
> ---------------------------------------------------------------------------
>
> Andrew Hammond wrote:
>
> I'm seeing the following errors when compiling postgres 7.4.8 (vanilla)
> on AIX 5.3
>
> make[2]: Entering directory `/opt/src/postgresql-7.4.8/src/port'
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../src/include -I/opt/dbs/readline/include
> -I/opt/dbs/zlib/include -I/opt/freeware/include -c thread.c
> In file included from thread.c:25:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make[2]: *** [thread.o] Error 1
> make[2]: Leaving directory `/opt/src/postgresql-7.4.8/src/port'
>
> I've looked into pthread.h and it's refereing to pthread_barrier_t,
> pthread_barrierattr_
t and pthread_spinlock_t. These do not exist in
> pthread.h on our 5.1 box. However they are defined in sys/types.h which
> is included up near the top pthread.h.
>
> I'm somewhat at a loss about where this could be going wrong.
>
> Configure options follow
>
> ./configure --prefix=/opt/dbs/pgsql748-slony105-AIX53-2005-06-13
> -
> --with-includes=/opt/dbs/readline/include:/opt/dbs/zlib/include:/usr/ccs/include:/opt/freeware/include:/usr/local/include
> -
> --with-libraries=/opt/dbs/readline/lib:/opt/dbs/zlib/lib:/usr/ccs/lib:/opt/freeware/lib:/usr/local/lib
> --enable-thread-safety --enable-debug --enable-aix64
>
> Note that this binary will need to have slony support which is why the
> --enable-thread-safety. We've had success compiling postgres on AIX 5.1
> with identical settings. We're using gcc 3.3.2
>
> The thread_test program fails identically:
>
> -bash-2.05b$ make
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../../src/include
> -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
> -I/opt/freeware/include -c -o thread_test.o thread_test.c
> In file included from thread_test.c:23:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make: *** [thread_test.o] Error 1
>
> --
> Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
> Database Administrator, Afilias Canada Corp.
> CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A


- ---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCse6Rgfzn5Sev
SpoRArEsAKCho8z4L4A8
YfQ4TiISO9bs5dGs6ACg
xJB4
laP2NOg4EqlFUjgnscZz
WB8=
=w6xE
-----END PGP SIGNATURE-----

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Bruce Momjian

2005-06-16, 8:25 pm


You are not missing something obvious. Keep hunting to see why you are
not getting to those defines.

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

Andrew Hammond wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Sure enough, there's some _XOPEN_SOURCE magic around them:
>
> #if (_XOPEN_SOURCE >= 600)
> typedef struct
> {
> #ifdef __64BIT__
> long __sp_word[3];
> #else
> int __sp_word[6];
> #endif /* __64BIT__ */
> }
> pthread_spinlock_t;
>
> typedef struct
> {
> #ifdef __64BIT__
> long __br_word[5];
> #else
> int __br_word[8];
> #endif /* __64BIT__ */
> }
> pthread_barrier_t;
> #endif /* _XOPEN_SOURCE >= 600 */
>
>
> #if (_XOPEN_SOURCE >= 600)
> typedef void *pthread_barrierattr
_t;
> #endif
>
>
> So... I went hunting to see where _XOPEN_SOURCE is defined and found it
> in standards.h which is included all over the place, including sys/types.h
>
>
> /* If _XOPEN_SOURCE is defined without a value, or with a value less
> * than 500 (UNIX98), then set a value, so that #if statements will
> * work properly.
> */
> #ifdef _XOPEN_SOURCE
> #if ((_XOPEN_SOURCE + 0) < 500)
> #undef _XOPEN_SOURCE
> #define _XOPEN_SOURCE 1
> #endif
> #endif
>
> #if defined(_UNIX03) || (_XOPEN_SOURCE==600)

> #undef _XOPEN_SOURCE
> #define _XOPEN_SOURCE 600
> #undef _XOPEN_SOURCE_EXTEND
ED
> #define _XOPEN_SOURCE_EXTEND
ED 1
> #undef _POSIX_C_SOURCE
> #define _POSIX_C_SOURCE 200112L
> #undef _THREAD_SAFE
> #define _THREAD_SAFE
> #endif
>
> #if defined(_UNIX98) || (_XOPEN_SOURCE==500)

> #undef _XOPEN_SOURCE
> #define _XOPEN_SOURCE 500
> #undef _XOPEN_SOURCE_EXTEND
ED
> #define _XOPEN_SOURCE_EXTEND
ED 1
> #endif
>
> #ifdef _UNIX95
> #undef _XOPEN_SOURCE_EXTEND
ED
> #define _XOPEN_SOURCE_EXTEND
ED 1
> #endif
>
> #if (_XOPEN_SOURCE_EXTEN
DED==1)
> #ifndef _XOPEN_SOURCE
> #define _XOPEN_SOURCE 1
> #endif /* _XOPEN_SOURCE */
> #endif /* _XOPEN_SOURCE_EXTEND
ED */
>
> #ifdef _XOPEN_SOURCE
> #ifndef _POSIX_SOURCE
> #define _POSIX_SOURCE
> #endif
> #endif
>
>
> I also made sure that it's not being defined or undefined anywhere else
> in the include paths. Then, I tried overriding the _XOPEN_SOURCE
> variable on the command line for gcc, but, still no luck.
>
> - -bash-2.05b$ gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> - -Wmissing-declarations -I../../../src/include
> - -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
> - -I/opt/freeware/include -D _XOPEN_SOURCE=600 -c -o thread_test.o
> thread_test.c
> In file included from thread_test.c:23:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
>
> I'd like to believe I'm missing something really obvious here... :)
>
> - --
> Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
> Database Administrator, Afilias Canada Corp.
> CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
>
>
> Bruce Momjian wrote:
>
> - ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)
>
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQFCse6Rgfzn5Sev
SpoRArEsAKCho8z4L4A8
YfQ4TiISO9bs5dGs6ACg
xJB4
> laP2NOg4EqlFUjgnscZz
WB8=
> =w6xE
> -----END PGP SIGNATURE-----
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>


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

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Christopher Browne

2005-06-17, 3:26 am

In an attempt to throw the authorities off his trail, RMohan@arbinet.com ("Mohan, Ross") transmitted:
> Sorry to be dull-minded, but since PG is not threaded (at least on AIX)
> and works fine, why would Slony (threaded or not) have a problem? There
> aren't likely to be thread-to-thread interactions, eg.


The "slon" application that performs replication *IS* a multi-threaded
application where each of those threads accesses libpq.

--enable-thread-safety is *most certainly* necessary in order for
libpq to be thread-safe so that slon can operate.

That is why "thread safety" is necessary.
--
"cbbrowne","@","gmail.com"
http://linuxdatabases.info/info/slony.html
When man stands on toilet, man is high on pot. -Confucius
Andrew Hammond

2005-06-23, 1:23 pm

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mohan, Ross wrote:
> Wow...<light dawning on marble head>....so this means..if I want to
> do replication, I'll need to rebuild PG with --enable-thread-safety?
>
> that's unpleasant news, since, IIRC, it didn't like it at all, first
> time through.
>
> <sigh>
>
> Thanks for heads up.


No problem. I haven't had any luck tracking down this issue. If you do,
I'd be very glad to hear about it.

Drew


> -----Original Message-----
> From: Bruce Momjian & #91;mailto:pgman@can
dle.pha.pa.us]
> Sent: Thursday, June 16, 2005 4:29 PM
> To: Mohan, Ross
> Cc: pgsql-ports@postgresql.org
> Subject: Re: [PORTS] pthreads issue when compiling 7.4.8 on AIX 5.3
>
>
> Mohan, Ross wrote:
>
>
>
> Slony uses a threaded libpq, which is what --enable-thread-safety does.
>
> ---------------------------------------------------------------------------
>
>
>
> I'm seeing the following errors when compiling postgres 7.4.8
> (vanilla) on AIX 5.3
>
> make[2]: Entering directory `/opt/src/postgresql-7.4.8/src/port'
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../src/include
> -I/opt/dbs/readline/include
> -I/opt/dbs/zlib/include -I/opt/freeware/include -c thread.c In file included from thread.c:25:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make[2]: *** [thread.o] Error 1
> make[2]: Leaving directory `/opt/src/postgresql-7.4.8/src/port'
>
> I've looked into pthread.h and it's refereing to pthread_barrier_t,
> pthread_barrierattr_
t and pthread_spinlock_t. These do not exist in
> pthread.h on our 5.1 box. However they are defined in sys/types.h
> which is included up near the top pthread.h.
>
> I'm somewhat at a loss about where this could be going wrong.
>
> Configure options follow
>
> ./configure --prefix=/opt/dbs/pgsql748-slony105-AIX53-2005-06-13
> -
> --with-includes=/opt/dbs/readline/include:/opt/dbs/zlib/include:/usr/ccs/include:/opt/freeware/include:/usr/local/include
> --with-libraries=/opt/dbs/readline/lib:/opt/dbs/zlib/lib:/usr/ccs/lib:/opt/freeware/lib:/usr/local/lib
> --enable-thread-safety --enable-debug --enable-aix64
>
> Note that this binary will need to have slony support which is why the
> --enable-thread-safety. We've had success compiling postgres on AIX
> 5.1 with identical settings. We're using gcc 3.3.2
>
> The thread_test program fails identically:
>
> -bash-2.05b$ make
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../../src/include
> -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
> -I/opt/freeware/include -c -o thread_test.o thread_test.c In file
> included from thread_test.c:23:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make: *** [thread_test.o] Error 1
>
> --
> Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
> Database Administrator, Afilias Canada Corp.
> CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A


- ---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)

- ---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)





- --
Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
Database Administrator, Afilias Canada Corp.
CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCuwElgfzn5Sev
SpoRAoEuAJ0b2YfR9qPz
8zlOY5gIoW0e/lJM9gCcCG4F
rct4f2CzomdOM7gmKwOH
A0Y=
=ICyX
-----END PGP SIGNATURE-----

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

Mohan, Ross

2005-06-23, 8:24 pm

I can build PG now...use it a bit, but CANNOT make
the tsearch2 contrib module. Kind of a pain.

But whatever I can add/say to be of assistance, I am glad to offer.

- Ross

-----Original Message-----
From: Andrew Hammond & #91;mailto:ahammond@
ca.afilias.info]
Sent: Thursday, June 23, 2005 2:36 PM
To: Mohan, Ross
Cc: pgsql-ports@postgresql.org
Subject: Re: [PORTS] pthreads issue when compiling 7.4.8 on AIX 5.3


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mohan, Ross wrote:
> Wow...<light dawning on marble head>....so this means..if I want to do
> replication, I'll need to rebuild PG with --enable-thread-safety?
>
> that's unpleasant news, since, IIRC, it didn't like it at all, first
> time through.
>
> <sigh>
>
> Thanks for heads up.


No problem. I haven't had any luck tracking down this issue. If you do, I'd be very glad to hear about it.

Drew


> -----Original Message-----
> From: Bruce Momjian & #91;mailto:pgman@can
dle.pha.pa.us]
> Sent: Thursday, June 16, 2005 4:29 PM
> To: Mohan, Ross
> Cc: pgsql-ports@postgresql.org
> Subject: Re: [PORTS] pthreads issue when compiling 7.4.8 on AIX 5.3
>
>
> Mohan, Ross wrote:
>
>
>
> Slony uses a threaded libpq, which is what --enable-thread-safety
> does.
>
> ----------------------------------------------------------------------
> -----
>
>
>
> I'm seeing the following errors when compiling postgres 7.4.8
> (vanilla) on AIX 5.3
>
> make[2]: Entering directory `/opt/src/postgresql-7.4.8/src/port'
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../src/include -I/opt/dbs/readline/include
> -I/opt/dbs/zlib/include -I/opt/freeware/include -c thread.c In file included from thread.c:25:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make[2]: *** [thread.o] Error 1
> make[2]: Leaving directory `/opt/src/postgresql-7.4.8/src/port'
>
> I've looked into pthread.h and it's refereing to pthread_barrier_t,
> pthread_barrierattr_
t and pthread_spinlock_t. These do not exist in
> pthread.h on our 5.1 box. However they are defined in sys/types.h
> which is included up near the top pthread.h.
>
> I'm somewhat at a loss about where this could be going wrong.
>
> Configure options follow
>
> ./configure --prefix=/opt/dbs/pgsql748-slony105-AIX53-2005-06-13
> -
> --with-includes=/opt/dbs/readline/include:/opt/dbs/zlib/include:/usr/ccs/include:/opt/freeware/include:/usr/local/include
> --with-libraries=/opt/dbs/readline/lib:/opt/dbs/zlib/lib:/usr/ccs/lib:/opt/freeware/lib:/usr/local/lib
> --enable-thread-safety --enable-debug --enable-aix64
>
> Note that this binary will need to have slony support which is why the
> --enable-thread-safety. We've had success compiling postgres on AIX
> 5.1 with identical settings. We're using gcc 3.3.2
>
> The thread_test program fails identically:
>
> -bash-2.05b$ make
> gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes
> -Wmissing-declarations -I../../../src/include
> -I/opt/dbs/readline/include -I/opt/dbs/zlib/include
> -I/opt/freeware/include -c -o thread_test.o thread_test.c In file
> included from thread_test.c:23:
> /usr/include/pthread.h:652: error: parse error before '*' token
> /usr/include/pthread.h:655: error: parse error before '*' token
> /usr/include/pthread.h:658: error: parse error before '*' token
> /usr/include/pthread.h:661: error: parse error before '*' token
> /usr/include/pthread.h:664: error: parse error before '*' token
> /usr/include/pthread.h:672: error: parse error before '*' token
> /usr/include/pthread.h:675: error: parse error before '*' token
> /usr/include/pthread.h:678: error: parse error before '*' token
> /usr/include/pthread.h:681: error: parse error before '*' token
> /usr/include/pthread.h:689: error: parse error before '*' token
> /usr/include/pthread.h:693: error: parse error before '*' token
> /usr/include/pthread.h:696: error: parse error before '*' token
> make: *** [thread_test.o] Error 1
>
> --
> Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
> Database Administrator, Afilias Canada Corp.
> CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A


- ---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)

- ---------------------------(end of
broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)





- --
Andrew Hammond 416-673-4138 ahammond@ca.afilias.info
Database Administrator, Afilias Canada Corp.
CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCuwElgfzn5Sev
SpoRAoEuAJ0b2YfR9qPz
8zlOY5gIoW0e/lJM9gCcCG4F
rct4f2CzomdOM7gmKwOH
A0Y=
=ICyX
-----END PGP SIGNATURE-----

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

http://www.postgresql.org/docs/faq

Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2008 droptable.com