compiling postgres with Visual Age compiler on OpenPower5 / Linux

Started by Hannu Krosingover 20 years ago7 messages
#1Hannu Krosing
hannu@skype.net

Has anyone tried to compile postgres with Visual Age compiler on
OpenPower5 (IBM-ese for linux only PowerPC based server) either 32 or 64
bit ?

We got it to build fine on both Suse and RHAS, but have had no luck with
VAC.

I have not researched any deeper,but currently it fails with

.[hannu@power postgresql-8.0.3]$
CC=/opt/ibmcmp/vac/7.0/bin/xlc ./configure
..A..
checking for int timezone... yes
checking types of arguments for accept()... configure: error: could not
determine argument types

Our "supported platforms" page does not show compiler, perhaps it should
be there as a separate column, not as remark for just some platforms.

--
Hannu Krosing <hannu@skype.net>

#2Hannu Krosing
hannu@skype.net
In reply to: Hannu Krosing (#1)
Re: compiling postgres with Visual Age compiler on

On P, 2005-05-29 at 17:19 +0300, Hannu Krosing wrote:

Has anyone tried to compile postgres with Visual Age compiler on
OpenPower5 (IBM-ese for linux only PowerPC based server) either 32 or 64
bit ?

We got it to build fine on both Suse and RHAS, but have had no luck with
VAC.

That is we were able to compile it using GCC, but not VAC

I have not researched any deeper,but currently it fails with

.[hannu@power postgresql-8.0.3]$
CC=/opt/ibmcmp/vac/7.0/bin/xlc ./configure
..A..
checking for int timezone... yes
checking types of arguments for accept()... configure: error: could not
determine argument types

Our "supported platforms" page does not show compiler, perhaps it should
be there as a separate column, not as remark for just some platforms.

--
Hannu Krosing <hannu@skype.net>

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Hannu Krosing (#1)
Re: compiling postgres with Visual Age compiler on OpenPower5 / Linux

Hannu Krosing <hannu@skype.net> writes:

I have not researched any deeper,but currently it fails with

checking types of arguments for accept()... configure: error: could not
determine argument types

So look at config.log and see what's going on.

regards, tom lane

#4Zeugswetter Andreas DAZ SD
ZeugswetterA@spardat.at
In reply to: Tom Lane (#3)
Re: compiling postgres with Visual Age compiler on OpenPower5 / Linux

I have not researched any deeper,but currently it fails with

.[hannu@power postgresql-8.0.3]$
CC=/opt/ibmcmp/vac/7.0/bin/xlc ./configure
..A..
checking for int timezone... yes
checking types of arguments for accept()... configure: error:
could not determine argument types

The odds are very high, that it rather depends on the system header file version,
or the order of inclusion (e.g. stdio.h before config.h).
Would need to see the snippet of configure output though.
IIRC there was a fix for this or a similar case, has this been reverted ?

Andreas

#5Hannu Krosing
hannu@skype.net
In reply to: Tom Lane (#3)
Re: compiling postgres with Visual Age compiler on

On P, 2005-05-29 at 11:26 -0400, Tom Lane wrote:

Hannu Krosing <hannu@skype.net> writes:

I have not researched any deeper,but currently it fails with

checking types of arguments for accept()... configure: error: could not
determine argument types

So look at config.log and see what's going on.

the following is repeated several times:

------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--
configure:11574: /opt/ibmcmp/vac/7.0/bin/xlc -c -O -D_GNU_SOURCE conftest.c >&5
"configure", line 11556.21: 1506-166 (S) Definition of function PASCAL
requires parentheses.
"configure", line 11556.28: 1506-276 (S) Syntax error: possible missing
'{'?
configure:11577: $? = 1
configure: failed program was:
#line 11549 "configure"
#include "confdefs.h"
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
extern unsigned int PASCAL accept (unsigned int, void *, unsigned int
*);
#ifdef F77_DUMMY_MAIN
# ifdef __cplusplus
extern "C"
# endif
int F77_DUMMY_MAIN() { return 1; }
#endif
int
main ()
{

;
return 0;
}
------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--

and then end looks like this

------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--
#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
#define HAVE_STRUCT_ADDRINFO 1
#define HAVE_STRUCT_OPTION 1
#define HAVE_INT_TIMEZONE

configure: exit 1
------8<--------8<--------8<-------8<--------8<---------8<-------8<---------8<--
--
Hannu Krosing <hannu@skype.net>

#6Hannu Krosing
hannu@tm.ee
In reply to: Hannu Krosing (#5)
Re: compiling postgres with Visual Age compiler on

On E, 2005-05-30 at 12:21 +0300, Hannu Krosing wrote:

On P, 2005-05-29 at 11:26 -0400, Tom Lane wrote:

Hannu Krosing <hannu@skype.net> writes:

I have not researched any deeper,but currently it fails with

checking types of arguments for accept()... configure: error: could not
determine argument types

So look at config.log and see what's going on.

it needs this:

extern int accept (int __fd, __SOCKADDR_ARG __addr,
socklen_t *__restrict __addr_len);

how does one add yet another set of arguments for accept() to
configure ?

--
Hannu Krosing <hannu@tm.ee>

#7Peter Eisentraut
peter_e@gmx.net
In reply to: Hannu Krosing (#6)
Re: compiling postgres with Visual Age compiler on

Hannu Krosing wrote:

it needs this:

extern int accept (int __fd, __SOCKADDR_ARG __addr,
socklen_t *__restrict __addr_len);

how does one add yet another set of arguments for accept() to
configure ?

One patches the file config/ac_func_accept_argtypes.m4. Presumably, you
need to add another choice to the loop for ac_cv_func_accept_arg2.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/