<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Running SVR3 binaries on SVR4.0.4 and SVR4.2</TITLE>
</HEAD>
<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">

<A HREF="SVR4.html"><EM>Information for SVR4 Users</EM></A>
 <b>:</b> <EM>Running SVR3 binaries on SVR4.0.4 and SVR4.2</EM><BR>
<b>Previous:</b> <A HREF="SVR42.html"><EM>How to cope with VT-switching hotkeys</EM></A><BR>
<b>Next:</b> <A HREF="SVR44.html"><EM>Notes for building XFree86 on SVR4</EM></A>


<HR NOSHADE>
  <H2><A NAME="3"></A>3. Running SVR3 binaries on SVR4.0.4 and SVR4.2</H2>
<p>SVR4.0.4 added the `Advanced Compatibility Package', which provides
iBCS-2 compliance for running SVR3 binaries.  These facilities are also
present in SVR4.2.  XFree86 makes use of this to accept local connections
from SVR3 clients.  The XFree86 binary distribution is built to use these
capabilities.  You need to install the `Advanced Compatibility Package', if
you have not done so already.</p>
<p>We have found that SVR4.0.4 is not able to run all SCO, and perhaps not
many ISC SVR3 binaries.  This is not a failing of XFree86, but of SVR4
itself.  One particular example is that many SVR3 programs are ignorant of
the UFS filesystem, and attempt to read directories as files, rather than
using the system call that is defined for the purpose.  This will fail for
obvious reasons.  The SVR4.0.4 release notes from USL (which you should
have gotten from your vendor) have lots of suggestions for how to improve
compatibility.</p>
<p>That said, we have had luck with several SCO binaries right out of the
box.  No changes are needed - just go to an xterm window and run the
program.</p>
<p>ISC users will need a binary editor before they can attempt to run their
binaries.  ISC, for whatever reason, put the pipe for local connections in
<code>/tmp/.X11-unix/Xn</code>.  This unfortunately is the same place as the X
Consortium X server puts the Unix-domain socket normally used for local
connections.  The XFree86 server was modified to use 
<code>/dev/X/ISCCONN/Xn</code> for
local connections to ISC clients.  So what you must do is use a binary
editor to edit your client program.  Search for <code>/tmp/.X11-unix</code>, 
and change
it to <code>/dev/X/ISCCONN</code>.  Now you just have to worry about base-OS
compatibility.</p>

 <HR NOSHADE>
<A HREF="SVR4.html"><EM>Information for SVR4 Users</EM></A>
 <b>:</b> <EM>Running SVR3 binaries on SVR4.0.4 and SVR4.2</EM><BR>
<b>Previous:</b> <A HREF="SVR42.html"><EM>How to cope with VT-switching hotkeys</EM></A><BR>
<b>Next:</b> <A HREF="SVR44.html"><EM>Notes for building XFree86 on SVR4</EM></A>



</BODY>
</HTML>
