Thread: compiling postgres with Visual Age compiler on OpenPower5 / Linux

compiling postgres with Visual Age compiler on OpenPower5 / Linux

From
Hannu Krosing
Date:
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>



Re: compiling postgres with Visual Age compiler on

From
Hannu Krosing
Date:
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>



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


Re: compiling postgres with Visual Age compiler on OpenPower5 / Linux

From
"Zeugswetter Andreas DAZ SD"
Date:
> 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


Re: compiling postgres with Visual Age compiler on

From
Hannu Krosing
Date:
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>



Re: compiling postgres with Visual Age compiler on

From
Hannu Krosing
Date:
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>


Re: compiling postgres with Visual Age compiler on

From
Peter Eisentraut
Date:
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/