Re: [PORTS] Patch to compile 6.5 on SCO OpenServer

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: Andrew Merrill <andrew(at)compclass(dot)com>
Cc: pgsql-ports(at)hub(dot)org, pgsql-patches(at)hub(dot)org
Subject: Re: [PORTS] Patch to compile 6.5 on SCO OpenServer
Date: 1999-05-10 15:41:44
Message-ID: 199905101541.LAA04900@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ports


Patch applied. The offset of pgcomm.c patch was 300, but appeared to
apply cleanly.

> This was made with the April 15 snapshot of 6.5, which does not compile
> on SCO OpenServer without changes. (6.4.2 didn't compile on SCO
> OpenServer either, with the same problems.)
>
> For those not familiar with SCO, they have two distinct product lines,
> OpenServer and UnixWare. 6.4.2 compiles out of the box on UnixWare 7,
> and 6.5 will with a patch I submitted recently.
>
> I've tested this patch on:
>
> 1) SCO OpenServer 5.0.5 with the SCO UDK compiler
> 2) SCO OpenServer 5.0.2 with the SCO OpenServer Development Kit compiler
>
> It is likely to work on other OpenServer 5.0.x releases.
>
> What needs to be done to update the various "supported hardware
> platforms" lists to include both SCO OpenServer and SCO UnixWare?
>
> Andrew Merrill
> The Computer Classroom, Inc.
>

> *** ./backend/libpq/pqcomm.c.orig Fri Apr 16 16:45:32 1999
> --- ./backend/libpq/pqcomm.c Fri Apr 16 16:45:35 1999
> ***************
> *** 533,538 ****
> pqdebug("%s", PQerrormsg);
> return STATUS_ERROR;
> }
> if ((setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one,
> sizeof(one))) == -1)
> {
> --- 533,543 ----
> pqdebug("%s", PQerrormsg);
> return STATUS_ERROR;
> }
> +
> + #ifdef ONLY_REUSE_INET_SOCKETS
> + if (family == AF_INET) {
> + #endif
> +
> if ((setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one,
> sizeof(one))) == -1)
> {
> ***************
> *** 543,548 ****
> pqdebug("%s", PQerrormsg);
> return STATUS_ERROR;
> }
> MemSet((char *) &saddr, 0, sizeof(saddr));
> saddr.sa.sa_family = family;
> if (family == AF_UNIX)
> --- 548,558 ----
> pqdebug("%s", PQerrormsg);
> return STATUS_ERROR;
> }
> +
> + #ifdef ONLY_REUSE_INET_SOCKETS
> + }
> + #endif
> +
> MemSet((char *) &saddr, 0, sizeof(saddr));
> saddr.sa.sa_family = family;
> if (family == AF_UNIX)
> *** ./include/port/sco.h.orig Fri Apr 16 16:45:08 1999
> --- ./include/port/sco.h Fri Apr 16 16:58:54 1999
> ***************
> *** 1,5 ****
> #include <limits.h> /* For _POSIX_PATH_MAX */
>
> #define MAXPATHLEN _POSIX_PATH_MAX
>
> #define NOFILE NOFILES_MIN
> --- 1,6 ----
> #include <limits.h> /* For _POSIX_PATH_MAX */
>
> + #ifndef MAXPATHLEN
> #define MAXPATHLEN _POSIX_PATH_MAX
> #endif
>
> ***************
> *** 1,6 ****
> #include <limits.h> /* For _POSIX_PATH_MAX */
>
> #define MAXPATHLEN _POSIX_PATH_MAX
>
> #define NOFILE NOFILES_MIN
>
> --- 2,8 ----
>
> #ifndef MAXPATHLEN
> #define MAXPATHLEN _POSIX_PATH_MAX
> + #endif
>
> #ifndef NOFILE
> #define NOFILE NOFILES_MIN
> ***************
> *** 2,7 ****
>
> #define MAXPATHLEN _POSIX_PATH_MAX
>
> #define NOFILE NOFILES_MIN
>
> #define DISABLE_COMPLEX_MACRO
> --- 4,10 ----
> #define MAXPATHLEN _POSIX_PATH_MAX
> #endif
>
> + #ifndef NOFILE
> #define NOFILE NOFILES_MIN
> #endif
>
> ***************
> *** 3,7 ****
> #define MAXPATHLEN _POSIX_PATH_MAX
>
> #define NOFILE NOFILES_MIN
>
> #define DISABLE_COMPLEX_MACRO
> --- 6,12 ----
>
> #ifndef NOFILE
> #define NOFILE NOFILES_MIN
> + #endif
>
> #define ONLY_REUSE_INET_SOCKETS
>
> ***************
> *** 4,7 ****
>
> #define NOFILE NOFILES_MIN
>
> #define DISABLE_COMPLEX_MACRO
> --- 8,15 ----
> #define NOFILE NOFILES_MIN
> #endif
>
> + #define ONLY_REUSE_INET_SOCKETS
> +
> #define DISABLE_COMPLEX_MACRO
>
> #define USE_POSIX_TIME
> ***************
> *** 5,7 ****
> #define NOFILE NOFILES_MIN
>
> #define DISABLE_COMPLEX_MACRO
> --- 11,45 ----
> #define ONLY_REUSE_INET_SOCKETS
>
> #define DISABLE_COMPLEX_MACRO
> +
> + #define USE_POSIX_TIME
> + #define NO_EMPTY_STMTS
> + #define SYSV_DIRENT
> +
> + #define HAS_TEST_AND_SET
> + #define NEED_I386_TAS_ASM
> +
> + #define USE_UNIVEL_CC
> +
> + typedef unsigned char slock_t;
> +
> + #define DISABLE_COMPLEX_MACRO
> +
> + /***************************************************************
> + * The following include will get the needed prototype for the
> + * strcasecmp() function.
> + ***************************************************************/
> + #include <strings.h>
> +
> + #ifndef BIG_ENDIAN
> + #define BIG_ENDIAN 4321
> + #endif
> + #ifndef LITTLE_ENDIAN
> + #define LITTLE_ENDIAN 1234
> + #endif
> + #ifndef PDP_ENDIAN
> + #define PDP_ENDIAN 3412
> + #endif
> + #ifndef BYTE_ORDER
> + #define BYTE_ORDER LITTLE_ENDIAN
> + #endif

--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-ports by date

  From Date Subject
Next Message Bruce Momjian 1999-05-10 16:08:53 Re: [PORTS] UnixWare 7 patches for current CVS code.
Previous Message Bruce Momjian 1999-05-10 15:33:03 Re: [PORTS] Port Bug Report: backend/utils/adt/cash.c problems