RE: [HACKERS] compilation problem on AIX - Mailing list pgsql-hackers
From | Peter Gucwa |
---|---|
Subject | RE: [HACKERS] compilation problem on AIX |
Date | |
Msg-id | 01BDF6C5.B7D19D80.pg@softcomputer.com Whole thread Raw |
Responses |
RE: [HACKERS] compilation problem on AIX
|
List | pgsql-hackers |
Here are patches needed to complie under AIX 4.2. I changed configure.in, pqcomm.c, config.h.in, and fe-connect.c. Also I had to install flex because lex did not want to translate pgc.l. *** configure.in Tue Oct 13 14:05:50 1998 --- configure.in.orig Tue Oct 13 14:02:18 1998 *************** *** 444,458 **** AC_HEADER_TIME AC_STRUCT_TM - AC_MSG_CHECKING(for type of last arg to accept) - AC_TRY_COMPILE([#include <stdlib.h> - #include <sys/types.h> - #include <sys/socket.h> - ], - [int a = accept(1, (struct sockaddr *) 0, (size_t *) 0);], - [AC_DEFINE(SOCKET_SIZE_TYPE, size_t) AC_MSG_RESULT(size_t)], - [AC_DEFINE(SOCKET_SIZE_TYPE, int) AC_MSG_RESULT(int)]) - dnl Check for any "odd" conditions AC_MSG_CHECKING(for int timezone) AC_TRY_LINK([#include <time.h>], --- 444,449 ---- *** pqcomm.c Tue Oct 13 15:11:56 1998 --- pqcomm.c.orig Tue Oct 13 14:48:44 1998 *************** *** 660,667 **** int StreamConnection(int server_fd, Port *port) { ! int len; ! SOCKET_SIZE_TYPE addrlen; int family = port->raddr.sa.sa_family; /* accept connection (and fill in the client (remote) address) */ --- 660,667 ---- int StreamConnection(int server_fd, Port *port) { ! int len, ! addrlen; int family = port->raddr.sa.sa_family; /* accept connection (and fill in the client (remote) address) */ *************** *** 732,739 **** int StreamOpen(char *hostName, short portName, Port *port) { ! SOCKET_SIZE_TYPE len; ! int err; struct hostent *hp; extern int errno; --- 732,739 ---- int StreamOpen(char *hostName, short portName, Port *port) { ! int len, ! err; struct hostent *hp; extern int errno; *** config.h.in Tue Oct 13 14:32:40 1998 --- config.h.in.orig Tue Oct 13 14:33:28 1998 *************** *** 210,218 **** /* Set to 1 if you want to Enable ASSERT CHECKING */ #undef USE_ASSERT_CHECKING - /* Define as the base type of the last arg to accept */ - #undef SOCKET_SIZE_TYPE - /* * Code below this point should not require changes */ --- 210,215 ---- *** fe-connect.c Tue Oct 13 15:20:14 1998 --- fe-connect.c.orig Tue Oct 13 15:19:10 1998 *************** *** 472,478 **** StartupPacket sp; AuthRequest areq; ! SOCKET_SIZE_TYPE laddrlen = sizeof(SockAddr); int portno, family, len; --- 472,478 ---- StartupPacket sp; AuthRequest areq; ! int laddrlen = sizeof(SockAddr); int portno, family, len; -----Original Message----- From: Marc G. Fournier [SMTP:scrappy@hub.org] Sent: Monday, October 12, 1998 8:38 PM To: Peter Gucwa Cc: 'hackers@postgresql.org'; 'andreas.zeugswetter@telecom.at' Subject: Re: [HACKERS] compilation problem on AIX On Mon, 12 Oct 1998, Peter Gucwa wrote: > Does somebody have solution for this problem that was discussed here a month ago? > > >> > >> the stream functions on AIX need a size_t for addrlen's in fe-connect.c and pqcomm.c. > >>This has come up before. AIX wants size_t for certain structures like > >getsockname(). I believe the third parameter on AIX is size_t, while it > >used to be int on my machine, but is not socklen_t. Is this correct? > >The 'int' code works fine for me, but I can see why AIX is having a > >problem, and perhaps it is time for configure to check on the various > >types. > > > > getsockname(int s, struct sockaddr *name, socklen_t *namelen); > > Ok, so this gets tricky. In 4.2.1 it is size_t and in 4.3.1 it is as > above with socklen_t :-( If someone can make me a *short* code stub that fails to compile depending on which is used, I can add this to configure... Marc G. Fournier scrappy@hub.org Systems Administrator @ hub.org scrappy@{postgresql|isc}.org ICQ#7615664
pgsql-hackers by date: