<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Compiling Apache under UnixWare</TITLE>
</HEAD>

<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
<BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
 VLINK="#000080"
 ALINK="#FF0000"
>
<!--#include virtual="header.html" -->

<H1 ALIGN="CENTER">Compiling Apache under UnixWare</H1>

To compile a working copy of Apache under UnixWare, there are several other
steps you may need to take. These prevent such problems as zombie processes,
bind errors, and accept errors, to name a few.

<H2>UnixWare 1.x</H2>

Make sure that USE_FCNTL_SERIALIZE_ACCEPT is defined (if not
defined by Apache autoconfiguration). If using the UnixWare <EM>cc</EM>
compiler, and you still see accept() errors, don't use compiler optimization,
or get <EM>gcc</EM>.

<H2>UnixWare 2.0.x</H2>

SCO patch <A HREF="ftp://ftp.sco.com/UW20/tf2163.txt">tf2163</A> is required
in order for Apache to work correctly on UnixWare 2.0.x. See
<A HREF="http://www.sco.com">http://www.sco.com</A>
for UnixWare patch information.<P>

In addition, make sure that USE_FCNTL_SERIALIZE_ACCEPT is defined (if not
defined by Apache autoconfiguration). To reduce instances of connections
in FIN_WAIT_2 state, you may also want to define NO_LINGCLOSE (Apache 1.2
only).

<H2>UnixWare 2.1.x</H2>

SCO patch <A HREF="ftp://ftp.sco.com/UW21/ptf3123b.txt">ptf3123</A> is required
in order for Apache to work correctly on UnixWare 2.1.x. See
<A HREF="http://www.sco.com">http://www.sco.com</A>
for UnixWare patch information.<P>

<STRONG>NOTE:</STRONG> Unixware 2.1.2 and later already have patch ptf3123
included<P>

In addition, make sure that USE_FCNTL_SERIALIZE_ACCEPT is defined (if not
defined by Apache autoconfiguration). To reduce instances of connections
in FIN_WAIT_2 state, you may also want to define NO_LINGCLOSE (Apache 1.2
only).<P>

Thanks to Joe Doupnik &lt;JRD@cc.usu.edu&gt; and Rich Vaughn
&lt;rvaughn@aad.com&gt; for additional info for UnixWare builds.<P>

<!--#include virtual="footer.html" -->
</BODY>
</HTML>
