<!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>Notes for building XFree86 on Solaris x86</TITLE>
</HEAD>
<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">

<A HREF="SOLX86.html"><EM>Information for Solaris for x86 Users</EM></A>
 <b>:</b> <EM>Notes for building XFree86 on Solaris x86</EM><BR>
<b>Previous:</b> <A HREF="SOLX863.html"><EM>The VT-switching sub-system in Solaris x86</EM></A><BR>
<b>Next:</b> <A HREF="SOLX865.html"><EM>Notes for running XFree86 on Solaris x86</EM></A>


<HR NOSHADE>
  <H2><A NAME="4"></A>4. Notes for building XFree86 on Solaris x86</H2>

<p>
<ol>
<li>The majority of all modifications you will need to make are now in 
<code>~xc/config/cf/xf86site.def</code>.

</li>
<li>Both Gcc, and ProWorks are supported by XFree86. Gcc-2.5.8 or
gcc-2.7.2.3  are 
suggested, Gcc-2.6.0 is known not to work.  You also need to set 
HasGcc2 correctly in <code>~xc/config/cf/xf86site.def</code>.

You should also make certain your version of GCC predefines `sun'.
2.4.5 is known NOT to by default.  If needed edit
<code>/usr/local/lib/gcc-lib/*/*/specs</code>, and modify the
<code>*predefines:</code> line.
<p>Note: A Threaded Xlib compiled with GCC has subtle problems.
It'll work 98% of the time, however clients will occasionally
exhibit strange hangs. Most notably image viewers such as
xv-3.10 exhibit this problem.</p>

<p>It is recommended that you set ThreadedX in
<code>~xc/config/cf/sun.cf</code> to NO, if you are using GCC.
ProWorks does not have this problem.</p>

</li>
<li> To build XFree86 with gcc you need gcc and (optionally)
c++filt from  GNU binutils. Don't install gas or ld from GNU
binutils, use the one provided by Sun. 
<p>With XFree86 3.3.2, you will need to setup a /opt/SUNWspro/bin
directory containing symbolic links named <code>cc</code>, <code>CC</code>, and
<code>c++filt</code> pointing respectively to the actual <code>gcc</code>,
<code>g++</code> and <code>c++filt</code> commands.</p>

</li>
<li>If you don't have c++filt or if you have troubles in making
World with c++filt, you need to set UseExportLists to NO in
<code>~xc/config/cf/host.def</code>.
<p>        </p>

</li>
<li>If you are using ProWorks to compile the XFree86 distribution, you 
need to modify your PATH appropriately so the ProWorks tools are 
available. Normally, they should be in <code>/opt/SUNWspro/bin</code>


</li>
<li>You <b>MUST</b> put <code>/usr/ccs/bin</code>
at the front of your PATH. There are known 
problems with some GNU replacements for the utilities found there. So 
the <code>/usr/ccs/bin</code> versions of these programs 
must be found before any 
other possible GNU versions. (Most notably GNU '<code>ar</code>' does not work 
during the build).

</li>
<li>If you wish to use the "memory aperture" feature of the S3, and Mach32 
servers, you need to compile, and install the Solaris x86 aperture 
driver for memory mapped I/O support.  This driver is <b>REQUIRED</b>
for the I128, P9000 and Mach 64 servers.
<p>You  need to set HasSolx86apertureDrv to YES in 
<code>~xc/config/cf/xf86site.def</code>.</p>
<p> to enable the aperture
driver. </p>
<p>Under Solaris 2.5 and later, there's a system driver
(<code>/dev/xsvc</code> that provides this functionality. It will
be detected automatically by the server, so you don't need to
install the driver.</p>
<p>For Solaris 2.1 and 2.4, the source for this driver is included in 
<code>~xc/programs/Xserver/hw/xfree86/etc/apSolx86.shar</code>.  
Building, and 
installing the driver is relatively straight forward. Please read 
its accompanying README file.</p>




</li>
</ol>
</p>
 <HR NOSHADE>
<A HREF="SOLX86.html"><EM>Information for Solaris for x86 Users</EM></A>
 <b>:</b> <EM>Notes for building XFree86 on Solaris x86</EM><BR>
<b>Previous:</b> <A HREF="SOLX863.html"><EM>The VT-switching sub-system in Solaris x86</EM></A><BR>
<b>Next:</b> <A HREF="SOLX865.html"><EM>Notes for running XFree86 on Solaris x86</EM></A>



</BODY>
</HTML>
