Wed, 30 Apr 2008 19:35:26 -0700
6563616: Clarify instructions for unpacking openjdk binary "plug"
6611685: Incorrect link to CA certs info from build README
6682167: Add cygwin faq to README-builds.html
Reviewed-by: xdono
README-builds.html | file | annotate | diff | comparison | revisions |
1.1 --- a/README-builds.html Wed Apr 09 11:18:55 2008 -0700 1.2 +++ b/README-builds.html Wed Apr 30 19:35:26 2008 -0700 1.3 @@ -1,1447 +1,1587 @@ 1.4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1.5 - 1.6 <html> 1.7 -<head><title>OpenJDK Build README</title></head> 1.8 - 1.9 -<!-- ------------------------------------------------------ --> 1.10 -<hr noshade="noshade" size="3"> 1.11 - 1.12 -<center> 1.13 - <h1>OpenJDK Build README</h1> 1.14 -</center> 1.15 - 1.16 -<!-- ------------------------------------------------------ --> 1.17 -<hr noshade="noshade" size="3"> 1.18 - 1.19 -<h2><a name="introduction">Introduction</a></h2> 1.20 - 1.21 -<blockquote> 1.22 - <p> 1.23 - This README file contains build instructions for the 1.24 - <a href="http://openjdk.java.net">OpenJDK</a>. 1.25 - Building the source code for the 1.26 - OpenJDK 1.27 - requires 1.28 - a certain degree of technical expertise. 1.29 -</blockquote> 1.30 - 1.31 -<!-- ------------------------------------------------------ --> 1.32 -<hr noshade="noshade" size="3"> 1.33 - 1.34 -<h2><a name="contents">Contents</a></h2> 1.35 - 1.36 -<blockquote> 1.37 - <ul> 1.38 - <li><a href="#introduction">Introduction</a></li> 1.39 - <li><a href="#MBE">Minimum Build Environments</a></li> 1.40 - <li><a href="#SDBE">Specific Developer Build Environments</a></li> 1.41 - <li><a href="#directories">Source Directory Structure</a> </li> 1.42 - <li><a href="#building">Build Information</a> 1.43 - <ul type="disc"> 1.44 - <li><a href="#gmake">GNU Make (<tt><i>gmake</i></tt>)</a> </li> 1.45 - <li><a href="#linux">Basic Linux System Setup</a> </li> 1.46 - <li><a href="#solaris">Basic Solaris System Setup</a> </li> 1.47 - <li><a href="#windows">Basic Windows System Setup</a> </li> 1.48 - <li><a href="#dependencies">Build Dependencies</a> </li> 1.49 - <ul type="disc"> 1.50 - <li><a href="#bootjdk">Bootstrap JDK</a> </li> 1.51 - <li><a href="#binaryplugs">Binary Plugs</a> </li> 1.52 - <li><a href="#cacerts">Certificate Authority File (cacert)</a> </li> 1.53 - <li><a href="#compilers">Compilers</a> 1.54 + <head> 1.55 + <title>OpenJDK Build README</title> 1.56 + </head> 1.57 + <body style="background-color:lightcyan"> 1.58 + <!-- ====================================================== --> 1.59 + <table width="100%" style="background-color:white"> 1.60 + <tr> 1.61 + <td align="center"> 1.62 + <a href="http://openjdk.java.net" border="0"> 1.63 + <img alt="OpenJDK" 1.64 + src="http://openjdk.java.net/images/openjdk.png" 1.65 + width=256 1.66 + style="border-style: none"/> 1.67 + </a> 1.68 + </td> 1.69 + </tr> 1.70 + <tr> 1.71 + <td align=center> 1.72 + <h1>OpenJDK Build README</h1> 1.73 + </td> 1.74 + </tr> 1.75 + </table> 1.76 + <!-- ------------------------------------------------------ --> 1.77 + <hr> 1.78 + <h2><a name="introduction">Introduction</a></h2> 1.79 + <blockquote> 1.80 + <p> 1.81 + This README file contains build instructions for the 1.82 + <a href="http://openjdk.java.net" target="_blank">OpenJDK</a>. 1.83 + Building the source code for the 1.84 + OpenJDK 1.85 + requires 1.86 + a certain degree of technical expertise. 1.87 + </blockquote> 1.88 + <!-- ------------------------------------------------------ --> 1.89 + <hr> 1.90 + <h2><a name="contents">Contents</a></h2> 1.91 + <blockquote> 1.92 + <ul> 1.93 + <li><a href="#introduction">Introduction</a></li> 1.94 + <li><a href="#MBE">Minimum Build Environments</a></li> 1.95 + <li><a href="#SDBE">Specific Developer Build Environments</a></li> 1.96 + <li><a href="#directories">Source Directory Structure</a> </li> 1.97 + <li><a href="#building">Build Information</a> 1.98 + <ul> 1.99 + <li><a href="#gmake">GNU Make (<tt><i>gmake</i></tt>)</a> </li> 1.100 + <li><a href="#linux">Basic Linux System Setup</a> </li> 1.101 + <li><a href="#solaris">Basic Solaris System Setup</a> </li> 1.102 + <li><a href="#windows">Basic Windows System Setup</a> </li> 1.103 + <li><a href="#dependencies">Build Dependencies</a> </li> 1.104 <ul> 1.105 - <li><a href="#msvc">Microsoft Visual Studio</a> </li> 1.106 - <li><a href="#mssdk">Microsoft Platform SDK</a> </li> 1.107 - <li><a href="#gcc">Linux gcc/binutils</a> </li> 1.108 - <li><a href="#studio">Sun Studio</a> </li> 1.109 + <li><a href="#bootjdk">Bootstrap JDK</a> </li> 1.110 + <li><a href="#binaryplugs">Binary Plugs</a> </li> 1.111 + <li><a href="#importjdk">Optional Import JDK</a> </li> 1.112 + <li><a href="#cacerts">Certificate Authority File (cacert)</a> </li> 1.113 + <li><a href="#compilers">Compilers</a> 1.114 + <ul> 1.115 + <li><a href="#msvc">Microsoft Visual Studio</a> </li> 1.116 + <li><a href="#mssdk">Microsoft Platform SDK</a> </li> 1.117 + <li><a href="#gcc">Linux gcc/binutils</a> </li> 1.118 + <li><a href="#studio">Sun Studio</a> </li> 1.119 + </ul> 1.120 + </li> 1.121 + <li><a href="#zip">Zip and Unzip</a> </li> 1.122 + <li><a href="#freetype">FreeType2 Fonts</a> </li> 1.123 + <li>Linux and Solaris: 1.124 + <ul> 1.125 + <li><a href="#cups">CUPS Include files</a> </li> 1.126 + </ul> 1.127 + </li> 1.128 + <li>Linux only: 1.129 + <ul> 1.130 + <li><a href="#alsa">ALSA files</a> </li> 1.131 + </ul> 1.132 + </li> 1.133 + <li>Windows only: 1.134 + <ul> 1.135 + <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>)</li> 1.136 + <li><a href="#dxsdk">DirectX 9.0 SDK</a> </li> 1.137 + </ul> 1.138 + </li> 1.139 </ul> 1.140 - </li> 1.141 - <li>Linux and Solaris: 1.142 - <ul> 1.143 - <li><a href="#cups">CUPS Include files</a> </li> 1.144 - </ul> 1.145 - </li> 1.146 - <li>Windows only: 1.147 - <ul> 1.148 - <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>)</li> 1.149 - <li><a href="#dxsdk">DirectX 9.0 SDK</a> </li> 1.150 - </ul> 1.151 - </li> 1.152 + </ul> 1.153 + </li> 1.154 + <li><a href="#creating">Creating the Build</a> </li> 1.155 + <li><a href="#testing">Testing the Build</a> </li> 1.156 + <li><a href="#variables">Environment/Make Variables</a></li> 1.157 + <li><a href="#troubleshooting">Troubleshooting</a></li> 1.158 + </ul> 1.159 + </blockquote> 1.160 + <!-- ------------------------------------------------------ --> 1.161 + <hr> 1.162 + <h2><a name="MBE">Minimum Build Environments</a></h2> 1.163 + <blockquote> 1.164 + This file often describes specific requirements for what we call the 1.165 + "minimum build environments" (MBE) for the JDK. 1.166 + Building with the MBE will generate the most compatible 1.167 + bits that install on, and run correctly on, the most variations 1.168 + of the same base OS and hardware architecture. 1.169 + These usually represent what is often called the 1.170 + least common denominator platforms. 1.171 + It is understood that most developers will NOT be using these 1.172 + specific platforms, and in fact creating these specific platforms 1.173 + may be difficult due to the age of some of this software. 1.174 + <p> 1.175 + The minimum OS and C/C++ compiler versions needed for building the 1.176 + OpenJDK: 1.177 + <p> 1.178 + <table border="1"> 1.179 + <thead> 1.180 + <tr> 1.181 + <th>Base OS and Architecture</th> 1.182 + <th>OS</th> 1.183 + <th>Compiler</th> 1.184 + </tr> 1.185 + </thead> 1.186 + <tbody> 1.187 + <tr> 1.188 + <td>Linux X86 (32bit)</td> 1.189 + <td>Red Hat Enterprise Linux 4 </td> 1.190 + <td>gcc 4 </td> 1.191 + </tr> 1.192 + <tr> 1.193 + <td>Linux X64 (64bit)</td> 1.194 + <td>Red Hat Enterprise Linux 4 </td> 1.195 + <td>gcc 4 </td> 1.196 + </tr> 1.197 + <tr> 1.198 + <td>Solaris SPARC (32bit)</td> 1.199 + <td>Solaris 10 + patches 1.200 + <br> 1.201 + See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 1.202 + SunSolve</a> for patch downloads. 1.203 + </td> 1.204 + <td>Sun Studio 11 </td> 1.205 + </tr> 1.206 + <tr> 1.207 + <td>Solaris SPARCV9 (64bit)</td> 1.208 + <td>Solaris 10 + patches 1.209 + <br> 1.210 + See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 1.211 + SunSolve</a> for patch downloads. 1.212 + </td> 1.213 + <td>Sun Studio 11</td> 1.214 + </tr> 1.215 + <tr> 1.216 + <td>Solaris X86 (32bit)</td> 1.217 + <td>Solaris 10 + patches 1.218 + <br> 1.219 + See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 1.220 + SunSolve</a> for patch downloads. 1.221 + </td> 1.222 + <td>Sun Studio 11</td> 1.223 + </tr> 1.224 + <tr> 1.225 + <td>Solaris X64 (64bit)</td> 1.226 + <td>Solaris 10 + patches 1.227 + <br> 1.228 + See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 1.229 + SunSolve</a> for patch downloads. 1.230 + </td> 1.231 + <td>Sun Studio 11</td> 1.232 + </tr> 1.233 + <tr> 1.234 + <td>Windows X86 (32bit)</td> 1.235 + <td>Windows XP</td> 1.236 + <td>Microsoft Visual Studio .NET 2003 Professional</td> 1.237 + </tr> 1.238 + <tr> 1.239 + <td>Windows X64 (64bit)</td> 1.240 + <td>Windows Server 2003 - Enterprise x64 Edition</td> 1.241 + <td>Microsoft Platform SDK - April 2005</td> 1.242 + </tr> 1.243 + </tbody> 1.244 + </table> 1.245 + </blockquote> 1.246 + <!-- ------------------------------------------------------ --> 1.247 + <hr> 1.248 + <h2><a name="SDBE">Specific Developer Build Environments</a></h2> 1.249 + <blockquote> 1.250 + We won't be listing all the possible environments, but 1.251 + we will try to provide what information we have available to us. 1.252 + </blockquote> 1.253 + <!-- ------------------------------------------------------ --> 1.254 + <h3><a name="fedora">Fedora</a></h3> 1.255 + <blockquote> 1.256 + TBD 1.257 + </blockquote> 1.258 + <!-- ------------------------------------------------------ --> 1.259 + <h3><a name="debian">Debian</a></h3> 1.260 + <blockquote> 1.261 + TBD 1.262 + </blockquote> 1.263 + <!-- ------------------------------------------------------ --> 1.264 + <h3><a name="ubuntu">Ubuntu</a></h3> 1.265 + <blockquote> 1.266 + In addition to needing the Bootstrap JDK and the Binary Plugs, 1.267 + when building on Ubuntu you will need to 1.268 + make sure certain packages are installed. 1.269 + In particular, certain X11 packages, make, m4, gawk, gcc 4, 1.270 + binutils, cups, freetype 1.271 + and alsa. 1.272 + <!-- ------------------------------------------------------ --> 1.273 + <h4>Ubuntu 6.06</h4> 1.274 + <p> 1.275 + The following list of packages for Ubuntu 6.06 is a working set that 1.276 + does appear to work. 1.277 + <p> 1.278 + <b>Note that it's quite possible that some of these 1.279 + packages are not required, so anyone discovering that some of the 1.280 + packages listed below are NOT required, 1.281 + please let the 1.282 + OpenJDK 1.283 + team know.</b> 1.284 + <p> 1.285 + All the packages below can be installed with the 1.286 + Synaptic Package manager provided with the base Ubuntu 6.06 release. 1.287 + <blockquote> 1.288 + <ul> 1.289 + <li>binutils (2.16.1cvs20060117-1ubuntu2.1)</li> 1.290 + <li>cpp (4:4.0.3-1)</li> 1.291 + <li>cpp-4.0 (4.0.3-1ubuntu5)</li> 1.292 + <li>libfreetype6-dev</li> 1.293 + <li>g++ (4:4.0.3-1)</li> 1.294 + <li>g++-4.0 (4.0.3-1ubuntu5)</li> 1.295 + <li>gawk (1:3.1.5-2build1)</li> 1.296 + <li>gcc (4:4.0.3-1)</li> 1.297 + <li>gcc-4.0 (4.0.3-1ubuntu5)</li> 1.298 + <li>libasound2-dev (1.0.10-2ubuntu4)</li> 1.299 + <li>libc6 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4</li> 1.300 + <li>libc6-dev (2.3.6-0ubuntu20.4)</li> 1.301 + <li>libc6-i686 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4</li> 1.302 + <li>libcupsys2-dev (1.2.2-0ubuntu0.6.06)</li> 1.303 + <li>libgcrypt11-dev (1.2.2-1)</li> 1.304 + <li>libgnutls-dev (1.2.9-2ubuntu1.1)</li> 1.305 + <li>libgnutls12 (1.2.9-2ubuntu1) to 1.2.9-2ubuntu1.1</li> 1.306 + <li>libgpg-error-dev (1.1-4)</li> 1.307 + <li>libice-dev (2:1.0.0-0ubuntu2)</li> 1.308 + <li>liblockfile1 (1.06.1)</li> 1.309 + <li>libopencdk8-dev (0.5.7-2)</li> 1.310 + <li>libpopt-dev (1.7-5)</li> 1.311 + <li>libsm-dev (2:1.0.0-0ubuntu2)</li> 1.312 + <li>libstdc++6-4.0-dev (4.0.3-1ubuntu5)</li> 1.313 + <li>libtasn1-2-dev (0.2.17-1ubuntu1)</li> 1.314 + <li>libx11-dev (2:1.0.0-0ubuntu9)</li> 1.315 + <li>libxau-dev (1:1.0.0-0ubuntu4)</li> 1.316 + <li>libxaw-headers (2:1.0.1-0ubuntu3)</li> 1.317 + <li>libxaw7-dev (2:1.0.1-0ubuntu3)</li> 1.318 + <li>libxdmcp-dev (1:1.0.0-0ubuntu2)</li> 1.319 + <li>libxext-dev (2:1.0.0-0ubuntu4)</li> 1.320 + <li>libxi-dev (2:1.0.0-0ubuntu3) </li> 1.321 + <li>libxmu-dev (2:1.0.0-0ubuntu3)</li> 1.322 + <li>libxmu-headers (2:1.0.0-0ubuntu3)</li> 1.323 + <li>libxmuu-dev (2:1.0.0-0ubuntu3)</li> 1.324 + <li>libxp-dev (6.8.2-11ubuntu2)</li> 1.325 + <li>libxpm-dev (1:3.5.4.2-0ubuntu3)</li> 1.326 + <li>libxrandr-dev (1:1.1.0.2-0ubuntu4)</li> 1.327 + <li>libxt-dev (1:1.0.0-0ubuntu3)</li> 1.328 + <li>libxtrap-dev (2:1.0.0-0ubuntu2)</li> 1.329 + <li>libxtst-dev (2:1.0.1-0ubuntu2)</li> 1.330 + <li>libxv-dev (2:1.0.1-0ubuntu3)</li> 1.331 + <li>linux-kernel-headers (2.6.11.2-0ubuntu18)</li> 1.332 + <li>m4 (1.4.4-1)</li> 1.333 + <li>make (3.80+3.81.b4-1)</li> 1.334 + <li>ssl-cert (1.0.13)</li> 1.335 + <li>x-dev (7.0.4-0ubuntu2)</li> 1.336 + <li>x11proto-core-dev (7.0.4-0ubuntu2)</li> 1.337 + <li>x11proto-input-dev (1.3.2-0ubuntu2)</li> 1.338 + <li>x11proto-kb-dev (1.0.2-0ubuntu2)</li> 1.339 + <li>x11proto-randr-dev (1.1.2-0ubuntu2)</li> 1.340 + <li>x11proto-record-dev (1.13.2-0ubuntu2)</li> 1.341 + <li>x11proto-trap-dev (3.4.3-0ubuntu2)</li> 1.342 + <li>x11proto-video-dev (2.2.2-0ubuntu2)</li> 1.343 + <li>x11proto-xext-dev (7.0.2-0ubuntu2)</li> 1.344 + <li>xlibs-dev (7.0.0-0ubuntu45)</li> 1.345 + <li>zlib1g-dev (1:1.2.3-6ubuntu4)</li> 1.346 </ul> 1.347 - </ul> 1.348 - </li> 1.349 - <li><a href="#creating">Creating the Build</a> </li> 1.350 - <li><a href="#testing">Testing the Build</a> </li> 1.351 - <li><a href="#variables">Environment/Make Variables</a></li> 1.352 - <li><a href="#troubleshooting">Troubleshooting</a></li> 1.353 - </ul> 1.354 -</blockquote> 1.355 - 1.356 -<!-- ------------------------------------------------------ --> 1.357 -<hr noshade="noshade" size="3"> 1.358 - 1.359 -<h2><a name="MBE">Minimum Build Environments</a></h2> 1.360 - 1.361 -<blockquote> 1.362 - <p> 1.363 - This file often describes specific requirements for what we call the 1.364 - "minimum build environments" (MBE) for the JDK. 1.365 - Building with the MBE will generate the most compatible 1.366 - bits that install on, and run correctly on, the most variations 1.367 - of the same base OS and hardware architecture. 1.368 - These usually represent what is often called the 1.369 - least common denominator platforms. 1.370 - It is understood that most developers will NOT be using these 1.371 - specific platforms, and in fact creating these specific platforms 1.372 - may be difficult due to the age of some of this software. 1.373 - <p> 1.374 - 1.375 - <p> 1.376 - The minimum OS and C/C++ compiler versions needed for building the 1.377 - OpenJDK: 1.378 - <p> 1.379 - <center> 1.380 - <table border="1"> 1.381 - <thead> 1.382 - <tr> 1.383 - <th>Base OS and Architecture</th> 1.384 - <th>OS</th> 1.385 - <th>Compiler</th> 1.386 - </tr> 1.387 - </thead> 1.388 - <tbody> 1.389 - <tr> 1.390 - <td>Linux X86 (32bit)</td> 1.391 - <td>Red Hat Enterprise Linux 4 </td> 1.392 - <td>gcc 4 </td> 1.393 - </tr> 1.394 - <tr> 1.395 - <td>Linux X64 (64bit)</td> 1.396 - <td>Red Hat Enterprise Linux 4 </td> 1.397 - <td>gcc 4 </td> 1.398 - </tr> 1.399 - <tr> 1.400 - <td>Solaris SPARC (32bit)</td> 1.401 - <td>Solaris 10 + patches 1.402 - <br> 1.403 - See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads. 1.404 - </td> 1.405 - <td>Sun Studio 11 </td> 1.406 - </tr> 1.407 - <tr> 1.408 - <td>Solaris SPARCV9 (64bit)</td> 1.409 - <td>Solaris 10 + patches 1.410 - <br> 1.411 - See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads. 1.412 - </td> 1.413 - <td>Sun Studio 11</td> 1.414 - </tr> 1.415 - <tr> 1.416 - <td>Solaris X86 (32bit)</td> 1.417 - <td>Solaris 10 + patches 1.418 - <br> 1.419 - See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads. 1.420 - </td> 1.421 - <td>Sun Studio 11</td> 1.422 - </tr> 1.423 - <tr> 1.424 - <td>Solaris X64 (64bit)</td> 1.425 - <td>Solaris 10 + patches 1.426 - <br> 1.427 - See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads. 1.428 - </td> 1.429 - <td>Sun Studio 11</td> 1.430 - </tr> 1.431 - <tr> 1.432 - <td>Windows X86 (32bit)</td> 1.433 - <td>Windows XP</td> 1.434 - <td>Microsoft Visual Studio .NET 2003 Professional</td> 1.435 - </tr> 1.436 - <tr> 1.437 - <td>Windows X64 (64bit)</td> 1.438 - <td>Windows Server 2003 - Enterprise x64 Edition</td> 1.439 - <td>Microsoft Platform SDK - April 2005</td> 1.440 - </tr> 1.441 - </tbody> 1.442 - </table> 1.443 - </center> 1.444 -</blockquote> 1.445 - 1.446 -<!-- ------------------------------------------------------ --> 1.447 -<hr noshade="noshade" size="3"> 1.448 - 1.449 -<h2><a name="SDBE">Specific Developer Build Environments</a></h2> 1.450 - 1.451 -<blockquote> 1.452 - <p> 1.453 - We won't be listing all the possible environments, but 1.454 - we will try to provide what information we have available to us. 1.455 -</blockquote> 1.456 - 1.457 -<h3><a name="fedora">Fedora</a></h3> 1.458 - 1.459 -<blockquote> 1.460 - TBD 1.461 -</blockquote> 1.462 - 1.463 -<h3><a name="debian">Debian</a></h3> 1.464 - 1.465 -<blockquote> 1.466 - TBD 1.467 -</blockquote> 1.468 - 1.469 -<h3><a name="ubuntu">Ubuntu</a></h3> 1.470 - 1.471 -<blockquote> 1.472 - <p> 1.473 - In addition to needing the Bootstrap JDK and the Binary Plugs, 1.474 - when building on Ubuntu you will need to 1.475 - make sure certain packages are installed. 1.476 - In particular, certain X11 packages, make, m4, gawk, gcc 4, 1.477 - binutils, cups, freetype 1.478 - and alsa. 1.479 - 1.480 - <h4>Ubuntu 6.06</h4> 1.481 - 1.482 - <p> 1.483 - The following list of packages for Ubuntu 6.06 is a working set that 1.484 - does appear to work. 1.485 - 1.486 - <p> 1.487 - <b>Note that it's quite possible that some of these 1.488 - packages are not required, so anyone discovering that some of the 1.489 - packages listed below are NOT required, 1.490 - please let the 1.491 - OpenJDK 1.492 - team know.</b> 1.493 - <p> 1.494 - All the packages below can be installed with the 1.495 - Synaptic Package manager provided with the base Ubuntu 6.06 release. 1.496 - 1.497 - <blockquote> 1.498 - <ul> 1.499 - <li>binutils (2.16.1cvs20060117-1ubuntu2.1)</li> 1.500 - <li>cpp (4:4.0.3-1)</li> 1.501 - <li>cpp-4.0 (4.0.3-1ubuntu5)</li> 1.502 - <li>libfreetype6-dev</li> 1.503 - <li>g++ (4:4.0.3-1)</li> 1.504 - <li>g++-4.0 (4.0.3-1ubuntu5)</li> 1.505 - <li>gawk (1:3.1.5-2build1)</li> 1.506 - <li>gcc (4:4.0.3-1)</li> 1.507 - <li>gcc-4.0 (4.0.3-1ubuntu5)</li> 1.508 - <li>libasound2-dev (1.0.10-2ubuntu4)</li> 1.509 - <li>libc6 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4</li> 1.510 - <li>libc6-dev (2.3.6-0ubuntu20.4)</li> 1.511 - <li>libc6-i686 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4</li> 1.512 - <li>libcupsys2-dev (1.2.2-0ubuntu0.6.06)</li> 1.513 - <li>libgcrypt11-dev (1.2.2-1)</li> 1.514 - <li>libgnutls-dev (1.2.9-2ubuntu1.1)</li> 1.515 - <li>libgnutls12 (1.2.9-2ubuntu1) to 1.2.9-2ubuntu1.1</li> 1.516 - <li>libgpg-error-dev (1.1-4)</li> 1.517 - <li>libice-dev (2:1.0.0-0ubuntu2)</li> 1.518 - <li>liblockfile1 (1.06.1)</li> 1.519 - <li>libopencdk8-dev (0.5.7-2)</li> 1.520 - <li>libpopt-dev (1.7-5)</li> 1.521 - <li>libsm-dev (2:1.0.0-0ubuntu2)</li> 1.522 - <li>libstdc++6-4.0-dev (4.0.3-1ubuntu5)</li> 1.523 - <li>libtasn1-2-dev (0.2.17-1ubuntu1)</li> 1.524 - <li>libx11-dev (2:1.0.0-0ubuntu9)</li> 1.525 - <li>libxau-dev (1:1.0.0-0ubuntu4)</li> 1.526 - <li>libxaw-headers (2:1.0.1-0ubuntu3)</li> 1.527 - <li>libxaw7-dev (2:1.0.1-0ubuntu3)</li> 1.528 - <li>libxdmcp-dev (1:1.0.0-0ubuntu2)</li> 1.529 - <li>libxext-dev (2:1.0.0-0ubuntu4)</li> 1.530 - <li>libxi-dev (2:1.0.0-0ubuntu3) </li> 1.531 - <li>libxmu-dev (2:1.0.0-0ubuntu3)</li> 1.532 - <li>libxmu-headers (2:1.0.0-0ubuntu3)</li> 1.533 - <li>libxmuu-dev (2:1.0.0-0ubuntu3)</li> 1.534 - <li>libxp-dev (6.8.2-11ubuntu2)</li> 1.535 - <li>libxpm-dev (1:3.5.4.2-0ubuntu3)</li> 1.536 - <li>libxrandr-dev (1:1.1.0.2-0ubuntu4)</li> 1.537 - <li>libxt-dev (1:1.0.0-0ubuntu3)</li> 1.538 - <li>libxtrap-dev (2:1.0.0-0ubuntu2)</li> 1.539 - <li>libxtst-dev (2:1.0.1-0ubuntu2)</li> 1.540 - <li>libxv-dev (2:1.0.1-0ubuntu3)</li> 1.541 - <li>linux-kernel-headers (2.6.11.2-0ubuntu18)</li> 1.542 - <li>m4 (1.4.4-1)</li> 1.543 - <li>make (3.80+3.81.b4-1)</li> 1.544 - <li>ssl-cert (1.0.13)</li> 1.545 - <li>x-dev (7.0.4-0ubuntu2)</li> 1.546 - <li>x11proto-core-dev (7.0.4-0ubuntu2)</li> 1.547 - <li>x11proto-input-dev (1.3.2-0ubuntu2)</li> 1.548 - <li>x11proto-kb-dev (1.0.2-0ubuntu2)</li> 1.549 - <li>x11proto-randr-dev (1.1.2-0ubuntu2)</li> 1.550 - <li>x11proto-record-dev (1.13.2-0ubuntu2)</li> 1.551 - <li>x11proto-trap-dev (3.4.3-0ubuntu2)</li> 1.552 - <li>x11proto-video-dev (2.2.2-0ubuntu2)</li> 1.553 - <li>x11proto-xext-dev (7.0.2-0ubuntu2)</li> 1.554 - <li>xlibs-dev (7.0.0-0ubuntu45)</li> 1.555 - <li>zlib1g-dev (1:1.2.3-6ubuntu4)</li> 1.556 - </ul> 1.557 - </blockquote> 1.558 - 1.559 - <h4>Ubuntu 7.04</h4> 1.560 - 1.561 - <p> 1.562 - Using the Synaptic Package Manager, download the following 1.563 - packages (double indented packages are automatically aquired 1.564 - due to package dependencies): 1.565 - 1.566 - <blockquote> 1.567 - <ul> 1.568 - <li>build-essential</li> 1.569 - <ul> 1.570 - <li>dpkg-dev</li> 1.571 - <li>g++</li> 1.572 - <li>g++-4.1</li> 1.573 - <li>libc6-dev</li> 1.574 - <li>libstdc++6.4.1-dev</li> 1.575 - <li>linux-libc-dev</li> 1.576 - </ul> 1.577 - <li>gawk</li> 1.578 - <li>m4</li> 1.579 - <li>libasound2-dev</li> 1.580 - <li>libcupsys2-dev</li> 1.581 - <ul> 1.582 - <li>libgcrypt11-dev</li> 1.583 - <li>lgnutls-dev</li> 1.584 - <li>libgpg-error-dev</li> 1.585 - <li>liblzo-dev</li> 1.586 - <li>libopencdk8-dev</li> 1.587 - <li>libpopt-dev</li> 1.588 - <li>libtasn1-3-dev</li> 1.589 - <li>zlib1g-dev</li> 1.590 - </ul> 1.591 - <li>sun-java6-jdk</li> 1.592 - <ul> 1.593 - <li>java-common</li> 1.594 - <li>libltdl3</li> 1.595 - <li>odbcinst1debian1</li> 1.596 - <li>sun-java6-bin</li> 1.597 - <li>sun-java6-jre</li> 1.598 - <li>unixodbc</li> 1.599 - </ul> 1.600 - <li>xlibs-dev</li> 1.601 - <ul> 1.602 - <li>(many)</li> 1.603 - </ul> 1.604 - <li>x11proto-print-dev</li> 1.605 - <li>libxaw7-dev</li> 1.606 - <ul> 1.607 - <li>libxaw-headers</li> 1.608 - </ul> 1.609 - <li>libxp-dev</li> 1.610 - <li>libfreetype6-dev</li> 1.611 - </ul> 1.612 - </blockquote> 1.613 -</blockquote> 1.614 - 1.615 -<!-- ------------------------------------------------------ --> 1.616 -<hr noshade="noshade" size="3"> 1.617 - 1.618 -<h2><a name="directories">Source Directory Structure</a></h2> 1.619 - 1.620 -<blockquote> 1.621 - <p> 1.622 - The source code for the OpenJDK is delivered in a set of 1.623 - directories: 1.624 - <tt>hotspot</tt>, 1.625 - <tt>langtools</tt>, 1.626 - <tt>corba</tt>, 1.627 - <tt>jaxws</tt>, 1.628 - <tt>jaxp</tt>, 1.629 - and 1.630 - <tt>jdk</tt>. 1.631 - The <tt>hotspot</tt> directory contains the source code and make 1.632 - files for building the OpenJDK Hotspot Virtual Machine. 1.633 - The <tt>langtools</tt> directory contains the source code and make 1.634 - files for building the OpenJDK javac and language tools. 1.635 - The <tt>corba</tt> directory contains the source code and make 1.636 - files for building the OpenJDK Corba files. 1.637 - The <tt>jaxws</tt> directory contains the source code and make 1.638 - files for building the OpenJDK JAXWS files. 1.639 - The <tt>jaxp</tt> directory contains the source code and make 1.640 - files for building the OpenJDK JAXP files. 1.641 - The <tt>jdk</tt> directory contains the source code and make files for 1.642 - building the OpenJDK runtime libraries and misc files. 1.643 - The top level <tt>Makefile</tt> 1.644 - is used to build the entire OpenJDK. 1.645 -</blockquote> 1.646 - 1.647 -<!-- ------------------------------------------------------ --> 1.648 -<hr noshade="noshade" size="3"> 1.649 - 1.650 -<h2><a name="building">Build Information</a></h2> 1.651 - 1.652 -<blockquote> 1.653 - <p> 1.654 - Building the 1.655 - OpenJDK 1.656 - is done with a <tt><i>gmake</i></tt> 1.657 - command line and various 1.658 - environment or make variable settings that direct the make rules 1.659 - to where various components have been installed. 1.660 - Where possible the makefiles will attempt to located the various 1.661 - components in the default locations or any component specific 1.662 - variable settings. 1.663 - When the normal defaults fail or components cannot be found, 1.664 - the various 1.665 - <tt>ALT_*</tt> variables (alternates) 1.666 - can be used to help the makefiles locate components. 1.667 - <p> 1.668 - Refer to the bash/sh/ksh setup file 1.669 - <tt>jdk/make/jdk_generic_profile.sh</tt> 1.670 - if you need help in setting up your environment variables. 1.671 - A build could be as simple as: 1.672 - <blockquote> 1.673 - <pre><tt> 1.674 + </blockquote> 1.675 + <!-- ------------------------------------------------------ --> 1.676 + <h4>Ubuntu 7.04</h4> 1.677 + <p> 1.678 + Using the Synaptic Package Manager, download the following 1.679 + packages (double indented packages are automatically aquired 1.680 + due to package dependencies): 1.681 + <blockquote> 1.682 + <ul> 1.683 + <li>build-essential</li> 1.684 + <ul> 1.685 + <li>dpkg-dev</li> 1.686 + <li>g++</li> 1.687 + <li>g++-4.1</li> 1.688 + <li>libc6-dev</li> 1.689 + <li>libstdc++6.4.1-dev</li> 1.690 + <li>linux-libc-dev</li> 1.691 + </ul> 1.692 + <li>gawk</li> 1.693 + <li>m4</li> 1.694 + <li>libasound2-dev</li> 1.695 + <li>libcupsys2-dev</li> 1.696 + <ul> 1.697 + <li>libgcrypt11-dev</li> 1.698 + <li>lgnutls-dev</li> 1.699 + <li>libgpg-error-dev</li> 1.700 + <li>liblzo-dev</li> 1.701 + <li>libopencdk8-dev</li> 1.702 + <li>libpopt-dev</li> 1.703 + <li>libtasn1-3-dev</li> 1.704 + <li>zlib1g-dev</li> 1.705 + </ul> 1.706 + <li>sun-java6-jdk</li> 1.707 + <ul> 1.708 + <li>java-common</li> 1.709 + <li>libltdl3</li> 1.710 + <li>odbcinst1debian1</li> 1.711 + <li>sun-java6-bin</li> 1.712 + <li>sun-java6-jre</li> 1.713 + <li>unixodbc</li> 1.714 + </ul> 1.715 + <li>xlibs-dev</li> 1.716 + <ul> 1.717 + <li>(many)</li> 1.718 + </ul> 1.719 + <li>x11proto-print-dev</li> 1.720 + <li>libxaw7-dev</li> 1.721 + <ul> 1.722 + <li>libxaw-headers</li> 1.723 + </ul> 1.724 + <li>libxp-dev</li> 1.725 + <li>libfreetype6-dev</li> 1.726 + </ul> 1.727 + </blockquote> 1.728 + </blockquote> 1.729 + <!-- ------------------------------------------------------ --> 1.730 + <hr> 1.731 + <h2><a name="directories">Source Directory Structure</a></h2> 1.732 + <blockquote> 1.733 + <p> 1.734 + The source code for the OpenJDK is delivered in a set of 1.735 + directories: 1.736 + <tt>hotspot</tt>, 1.737 + <tt>langtools</tt>, 1.738 + <tt>corba</tt>, 1.739 + <tt>jaxws</tt>, 1.740 + <tt>jaxp</tt>, 1.741 + and 1.742 + <tt>jdk</tt>. 1.743 + The <tt>hotspot</tt> directory contains the source code and make 1.744 + files for building the OpenJDK Hotspot Virtual Machine. 1.745 + The <tt>langtools</tt> directory contains the source code and make 1.746 + files for building the OpenJDK javac and language tools. 1.747 + The <tt>corba</tt> directory contains the source code and make 1.748 + files for building the OpenJDK Corba files. 1.749 + The <tt>jaxws</tt> directory contains the source code and make 1.750 + files for building the OpenJDK JAXWS files. 1.751 + The <tt>jaxp</tt> directory contains the source code and make 1.752 + files for building the OpenJDK JAXP files. 1.753 + The <tt>jdk</tt> directory contains the source code and make files for 1.754 + building the OpenJDK runtime libraries and misc files. 1.755 + The top level <tt>Makefile</tt> 1.756 + is used to build the entire OpenJDK. 1.757 + </blockquote> 1.758 + <!-- ------------------------------------------------------ --> 1.759 + <hr> 1.760 + <h2><a name="building">Build Information</a></h2> 1.761 + <blockquote> 1.762 + Building the OpenJDK 1.763 + is done with a <tt><i>gmake</i></tt> 1.764 + command line and various 1.765 + environment or make variable settings that direct the make rules 1.766 + to where various components have been installed. 1.767 + Where possible the makefiles will attempt to located the various 1.768 + components in the default locations or any component specific 1.769 + variable settings. 1.770 + When the normal defaults fail or components cannot be found, 1.771 + the various 1.772 + <tt>ALT_*</tt> variables (alternates) 1.773 + can be used to help the makefiles locate components. 1.774 + <p> 1.775 + Refer to the bash/sh/ksh setup file 1.776 + <tt>jdk/make/jdk_generic_profile.sh</tt> 1.777 + if you need help in setting up your environment variables. 1.778 + A build could be as simple as: 1.779 + <blockquote> 1.780 + <pre><tt> 1.781 bash 1.782 . jdk/make/jdk_generic_profile.sh 1.783 <i>gmake</i> sanity && <i>gmake</i> 1.784 - </tt></pre> 1.785 - </blockquote> 1.786 - <p> 1.787 - Of course ksh or sh would work too. 1.788 - But some customization will probably be necessary. 1.789 - The <tt>sanity</tt> rule will make some basic checks on build 1.790 - dependencies and generate appropriate warning messages 1.791 - regarding missing, out of date, or newer than expected components 1.792 - found on your system. 1.793 -</blockquote> 1.794 - 1.795 -<!-- ------------------------------------------------------ --> 1.796 -<hr noshade="noshade" size="3"> 1.797 - 1.798 -<h3><a name="gmake">GNU make (<tt><i>gmake</i></tt>)</a></h3> 1.799 - 1.800 -<blockquote> 1.801 - <p> 1.802 - The Makefiles in the 1.803 - OpenJDK 1.804 - are only valid when used with the 1.805 - GNU version of the utility command <tt>make</tt> 1.806 - (<tt><i>gmake</i></tt>). 1.807 - A few notes about using GNU make: 1.808 - <ul> 1.809 - <li> 1.810 - In general, you need GNU make version 3.78.1 or newer. 1.811 - </li> 1.812 - <li> 1.813 - Place the location of the GNU make binary in the <tt>PATH</tt>. 1.814 - </li> 1.815 - <li> 1.816 - <strong>Linux:</strong> 1.817 - The <tt>/usr/bin/make</tt> command should work fine for you. 1.818 - </li> 1.819 - <li> 1.820 - <strong>Solaris:</strong> 1.821 - Do NOT use <tt>/usr/bin/make</tt> on Solaris. 1.822 - If your Solaris system has the software 1.823 - from the Solaris Companion CD installed, 1.824 - you should use <tt>gmake</tt> 1.825 - which will be located in either the <tt>/opt/sfw/bin</tt> or 1.826 - <tt>/usr/sfw/bin</tt> directory. 1.827 - </li> 1.828 - <li> 1.829 + </tt></pre> 1.830 + </blockquote> 1.831 + <p> 1.832 + Of course ksh or sh would work too. 1.833 + But some customization will probably be necessary. 1.834 + The <tt>sanity</tt> rule will make some basic checks on build 1.835 + dependencies and generate appropriate warning messages 1.836 + regarding missing, out of date, or newer than expected components 1.837 + found on your system. 1.838 + </blockquote> 1.839 + <!-- ------------------------------------------------------ --> 1.840 + <hr> 1.841 + <h3><a name="gmake">GNU make (<tt><i>gmake</i></tt>)</a></h3> 1.842 + <blockquote> 1.843 + The Makefiles in the OpenJDK are only valid when used with the 1.844 + GNU version of the utility command <tt>make</tt> 1.845 + (<tt><i>gmake</i></tt>). 1.846 + A few notes about using GNU make: 1.847 + <ul> 1.848 + <li> 1.849 + In general, you need GNU make version 3.78.1 or newer. 1.850 + </li> 1.851 + <li> 1.852 + Place the location of the GNU make binary in the <tt>PATH</tt>. 1.853 + </li> 1.854 + <li> 1.855 + <strong>Linux:</strong> 1.856 + The <tt>/usr/bin/make</tt> command should work fine for you. 1.857 + </li> 1.858 + <li> 1.859 + <strong>Solaris:</strong> 1.860 + Do NOT use <tt>/usr/bin/make</tt> on Solaris. 1.861 + If your Solaris system has the software 1.862 + from the Solaris Companion CD installed, 1.863 + you should use <tt>gmake</tt> 1.864 + which will be located in either the <tt>/opt/sfw/bin</tt> or 1.865 + <tt>/usr/sfw/bin</tt> directory. 1.866 + </li> 1.867 + <li> 1.868 + <strong>Windows:</strong> 1.869 + Make sure you start your build inside a bash/sh/ksh shell. 1.870 + <br> 1.871 + <b>WARNING:</b> Watch out for make version 3.81, it may 1.872 + not work due to a lack of support for drive letter paths 1.873 + like <tt>C:/</tt>. See 1.874 + <a href="#gmake">section on gmake</a>. 1.875 + Use a 3.80 version, or find a newer 1.876 + version that has this problem fixed. 1.877 + The older 3.80 version of make.exe can be downloaded with this 1.878 + <a href="http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2" target="_blank"> 1.879 + link</a>. 1.880 + Also see the 1.881 + <a href="http://developer.mozilla.org/en/docs/Windows_build_prerequisites_using_cygwin#make" target="_blank"> 1.882 + mozilla developer center</a> 1.883 + on this topic. 1.884 + </li> 1.885 + </ul> 1.886 + <p> 1.887 + Information on GNU make, and access to ftp download sites, are 1.888 + available on the 1.889 + <a href="http://www.gnu.org/software/make/make.html" target="_blank"> 1.890 + GNU make web site 1.891 + </a>. 1.892 + The latest source to GNU make is available at 1.893 + <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank"> 1.894 + ftp.gnu.org/pub/gnu/make/</a>. 1.895 + </blockquote> 1.896 + <!-- ------------------------------------------------------ --> 1.897 + <hr> 1.898 + <h3><a name="linux">Basic Linux System Setup</a></h3> 1.899 + <blockquote> 1.900 + <strong>i586 only:</strong> 1.901 + The minimum recommended hardware for building the Linux version 1.902 + is a Pentium class processor or better, at least 256 MB of RAM, and 1.903 + approximately 1.5 GB of free disk space. 1.904 + <p> 1.905 + <strong>X64 only:</strong> 1.906 + The minimum recommended hardware for building the Linux 1.907 + version is an AMD Opteron class processor, at least 512 MB of RAM, and 1.908 + approximately 4 GB of free disk space. 1.909 + <p> 1.910 + The build will use the tools contained in 1.911 + <tt>/bin</tt> and 1.912 + <tt>/usr/bin</tt> 1.913 + of a standard installation of the Linux operating environment. 1.914 + You should ensure that these directories are in your 1.915 + <tt>PATH</tt>. 1.916 + <p> 1.917 + Note that some Linux systems have a habit of pre-populating 1.918 + your environment variables for you, for example <tt>JAVA_HOME</tt> 1.919 + might get pre-defined for you to refer to the JDK installed on 1.920 + your Linux system. 1.921 + You will need to unset <tt>JAVA_HOME</tt>. 1.922 + It's a good idea to run <tt>env</tt> and verify the 1.923 + environment variables you are getting from the default system 1.924 + settings make sense for building the 1.925 + OpenJDK. 1.926 + </blockquote> 1.927 + <!-- ------------------------------------------------------ --> 1.928 + <h4><a name="linux_checklist">Basic Linux Check List</a></h4> 1.929 + <blockquote> 1.930 + <ol> 1.931 + <li> 1.932 + Install the 1.933 + <a href="#bootjdk">Bootstrap JDK</a>, set 1.934 + <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>. 1.935 + </li> 1.936 + <li> 1.937 + Install the 1.938 + <a href="#binaryplugs">Binary Plugs</a>, set 1.939 + <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>. 1.940 + </li> 1.941 + <li> 1.942 + <a href="#importjdk">Optional Import JDK</a>, set 1.943 + <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>. 1.944 + </li> 1.945 + <li> 1.946 + Install or upgrade the <a href="#freetype">FreeType development 1.947 + package</a>. 1.948 + </li> 1.949 + </ol> 1.950 + </blockquote> 1.951 + <!-- ------------------------------------------------------ --> 1.952 + <hr> 1.953 + <h3><a name="solaris">Basic Solaris System Setup</a></h3> 1.954 + <blockquote> 1.955 + The minimum recommended hardware for building the 1.956 + Solaris SPARC version is an UltraSPARC with 512 MB of RAM. 1.957 + For building 1.958 + the Solaris x86 version, a Pentium class processor or better and at 1.959 + least 512 MB of RAM are recommended. 1.960 + Approximately 1.4 GB of free disk 1.961 + space is needed for a 32-bit build. 1.962 + <p> 1.963 + If you are building the 64bit version, you should 1.964 + run the command "isainfo -v" to verify that you have a 1.965 + 64-bit installation, it should say <tt>sparcv9</tt> or 1.966 + <tt>amd64</tt>. 1.967 + An additional 7 GB of free disk space is needed 1.968 + for a 64-bit build. 1.969 + <p> 1.970 + The build uses the tools contained in <tt>/usr/ccs/bin</tt> 1.971 + and <tt>/usr/bin</tt> of a standard developer or full installation of 1.972 + the Solaris operating environment. 1.973 + <p> 1.974 + Solaris patches specific to the JDK can be downloaded from the 1.975 + <a href="http://sunsolve.sun.com/show.do?target=patches/JavaSE" target="_blank"> 1.976 + SunSolve JDK Solaris patches download page</a>. 1.977 + You should ensure that the latest patch cluster for 1.978 + your version of the Solaris operating environment has also 1.979 + been installed. 1.980 + </blockquote> 1.981 + <!-- ------------------------------------------------------ --> 1.982 + <h4><a name="solaris_checklist">Basic Solaris Check List</a></h4> 1.983 + <blockquote> 1.984 + <ol> 1.985 + <li> 1.986 + Install the 1.987 + <a href="#bootjdk">Bootstrap JDK</a>, set 1.988 + <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>. 1.989 + </li> 1.990 + <li> 1.991 + Install the 1.992 + <a href="#binaryplugs">Binary Plugs</a>, set 1.993 + <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>. 1.994 + </li> 1.995 + <li> 1.996 + <a href="#importjdk">Optional Import JDK</a>, set 1.997 + <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>. 1.998 + </li> 1.999 + <li> 1.1000 + Install the 1.1001 + <a href="#studio">Sun Studio Compilers</a>, set 1.1002 + <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>. 1.1003 + </li> 1.1004 + <li> 1.1005 + Install the 1.1006 + <a href="#cups">CUPS Include files</a>, set 1.1007 + <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>. 1.1008 + </li> 1.1009 + </ol> 1.1010 + </blockquote> 1.1011 + <!-- ------------------------------------------------------ --> 1.1012 + <hr> 1.1013 + <h3><a name="windows">Basic Windows System Setup</a></h3> 1.1014 + <blockquote> 1.1015 + <strong>i586 only:</strong> 1.1016 + The minimum recommended hardware for building the 32bit or X86 1.1017 + Windows version is an Pentium class processor or better, at least 1.1018 + 512 MB of RAM, and approximately 600 MB of free disk space. 1.1019 + <strong> 1.1020 + NOTE: The Windows 2000 build machines need to use the 1.1021 + file system NTFS. 1.1022 + Build machines formatted to FAT32 will not work 1.1023 + because FAT32 doesn't support case-sensitivity in file names. 1.1024 + </strong> 1.1025 + <p> 1.1026 + <strong>X64 only:</strong> 1.1027 + The minimum recommended hardware for building 1.1028 + the Windows X64 version is an AMD Opteron class processor, at least 1 1.1029 + GB of RAM, and approximately 10 GB of free disk space. 1.1030 + </blockquote> 1.1031 + <!-- ------------------------------------------------------ --> 1.1032 + <h4><a name="paths">Windows Paths</a></h4> 1.1033 + <blockquote> 1.1034 <strong>Windows:</strong> 1.1035 - Make sure you start your build inside a bash/sh/ksh shell. 1.1036 - <br> 1.1037 - <b>WARNING:</b> Watch out for make version 3.81, it may 1.1038 - not work due to a lack of support for drive letter paths 1.1039 - like <tt>C:/</tt>. Use a 3.80 version, or find a newer 1.1040 - version that has this problem fixed. 1.1041 - </li> 1.1042 - </ul> 1.1043 - <p> 1.1044 - Information on GNU make, and access to ftp download sites, are 1.1045 - available on the 1.1046 - <a href="http://www.gnu.org/software/make/make.html"> 1.1047 - GNU make web site 1.1048 - </a>. 1.1049 - The latest source to GNU make is available at 1.1050 - <a href="http://ftp.gnu.org/pub/gnu/make/">ftp.gnu.org/pub/gnu/make/</a>. 1.1051 -</blockquote> 1.1052 - 1.1053 -<!-- ------------------------------------------------------ --> 1.1054 -<hr noshade="noshade" size="3"> 1.1055 - 1.1056 -<h3><a name="linux">Basic Linux System Setup</a></h3> 1.1057 - 1.1058 -<blockquote> 1.1059 - <p> 1.1060 - <strong>i586 only:</strong> 1.1061 - The minimum recommended hardware for building the Linux version 1.1062 - is a Pentium class processor or better, at least 256 MB of RAM, and 1.1063 - approximately 1.5 GB of free disk space. 1.1064 - <p> 1.1065 - <strong>X64 only:</strong> 1.1066 - The minimum recommended hardware for building the Linux 1.1067 - version is an AMD Opteron class processor, at least 512 MB of RAM, and 1.1068 - approximately 4 GB of free disk space. 1.1069 - <p> 1.1070 - The build will use the tools contained in 1.1071 - <tt>/bin</tt> and 1.1072 - <tt>/usr/bin</tt> 1.1073 - of a standard installation of the Linux operating environment. 1.1074 - You should ensure that these directories are in your 1.1075 - <tt>PATH</tt>. 1.1076 - <p> 1.1077 - Note that some Linux systems have a habit of pre-populating 1.1078 - your environment variables for you, for example <tt>JAVA_HOME</tt> 1.1079 - might get pre-defined for you to refer to the JDK installed on 1.1080 - your Linux system. 1.1081 - You will need to unset <tt>JAVA_HOME</tt>. 1.1082 - It's a good idea to run <tt>env</tt> and verify the 1.1083 - environment variables you are getting from the default system 1.1084 - settings make sense for building the 1.1085 - OpenJDK. 1.1086 -</blockquote> 1.1087 - 1.1088 -<!-- ------------------------------------------------------ --> 1.1089 - 1.1090 -<h4><a name="linux_checklist">Basic Linux Check List</a></h4> 1.1091 - 1.1092 -<blockquote> 1.1093 - <ol> 1.1094 - <li> 1.1095 - Install the 1.1096 - <a href="#bootjdk">Bootstrap JDK</a>, set 1.1097 - <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>. 1.1098 - </li> 1.1099 - <li> 1.1100 - Install the 1.1101 - <a href="#binaryplugs">Binary Plugs</a>, set 1.1102 - <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>. 1.1103 - </li> 1.1104 - <li> 1.1105 - Install or upgrade the <a href="#freetype">FreeType development 1.1106 - package</a>. 1.1107 - </li> 1.1108 - </ol> 1.1109 -</blockquote> 1.1110 - 1.1111 -<!-- ------------------------------------------------------ --> 1.1112 -<hr noshade="noshade" size="3"> 1.1113 - 1.1114 -<h3><a name="solaris">Basic Solaris System Setup</a></h3> 1.1115 - 1.1116 -<blockquote> 1.1117 - <p> 1.1118 - The minimum recommended hardware for building the 1.1119 - Solaris SPARC version is an UltraSPARC with 512 MB of RAM. 1.1120 - For building 1.1121 - the Solaris x86 version, a Pentium class processor or better and at 1.1122 - least 128 MB of RAM are recommended. 1.1123 - Approximately 1.4 GB of free disk 1.1124 - space is needed for a 32-bit build. 1.1125 - <p> 1.1126 - If you are building the 64bit version, you should 1.1127 - run the command "isainfo -v" to verify that you have a 1.1128 - 64-bit installation. 1.1129 - An additional 7 GB of free disk space is needed 1.1130 - for a 64-bit build. 1.1131 - <p> 1.1132 - The build uses the tools contained in <tt>/usr/ccs/bin</tt> 1.1133 - and <tt>/usr/bin</tt> of a standard developer or full installation of 1.1134 - the Solaris operating environment. 1.1135 -</blockquote> 1.1136 - 1.1137 -<!-- ------------------------------------------------------ --> 1.1138 - 1.1139 -<h4><a name="solaris_checklist">Basic Solaris Check List</a></h4> 1.1140 - 1.1141 -<blockquote> 1.1142 - <ol> 1.1143 - <li> 1.1144 - Install the 1.1145 - <a href="#bootjdk">Bootstrap JDK</a>, set 1.1146 - <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>. 1.1147 - </li> 1.1148 - <li> 1.1149 - Install the 1.1150 - <a href="#binaryplugs">Binary Plugs</a>, set 1.1151 - <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>. 1.1152 - </li> 1.1153 - <li> 1.1154 - Install the 1.1155 - <a href="#studio">Sun Studio Compilers</a>, set 1.1156 - <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>. 1.1157 - </li> 1.1158 - <li> 1.1159 - Install the 1.1160 - <a href="#cups">CUPS Include files</a>, set 1.1161 - <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>. 1.1162 - </li> 1.1163 - </ol> 1.1164 -</blockquote> 1.1165 - 1.1166 -<!-- ------------------------------------------------------ --> 1.1167 -<hr noshade="noshade" size="3"> 1.1168 - 1.1169 -<h3><a name="windows">Basic Windows System Setup</a></h3> 1.1170 - 1.1171 -<blockquote> 1.1172 - <p> 1.1173 - <strong>i586 only:</strong> 1.1174 - The minimum recommended hardware for building the 32bit or X86 1.1175 - Windows version is an Pentium class processor or better, at least 1.1176 - 512 MB of RAM, and approximately 600 MB of free disk space. 1.1177 - <strong> 1.1178 - NOTE: The Windows 2000 build machines need to use the 1.1179 - file system NTFS. 1.1180 - Build machines formatted to FAT32 will not work 1.1181 - because FAT32 doesn't support case-sensitivity in file names. 1.1182 - </strong> 1.1183 - <p> 1.1184 - <strong>X64 only:</strong> 1.1185 - The minimum recommended hardware for building 1.1186 - the Windows X64 version is an AMD Opteron class processor, at least 1 1.1187 - GB of RAM, and approximately 10 GB of free disk space. 1.1188 -</blockquote> 1.1189 - 1.1190 -<!-- ------------------------------------------------------ --> 1.1191 - 1.1192 -<h4><a name="paths">Windows Paths</a></h4> 1.1193 - 1.1194 -<blockquote> 1.1195 - <p> 1.1196 - <strong>Windows:</strong> 1.1197 - Note that GNU make is a historic utility and is based very 1.1198 - heavily on shell scripting, so it does not tolerate the Windows habit 1.1199 - of having spaces in pathnames or the use of the <tt>\</tt>characters in pathnames. 1.1200 - Luckily on most Windows systems, you can use <tt>/</tt>instead of \, and 1.1201 - there is always a 'short' pathname without spaces for any path that 1.1202 - contains spaces. 1.1203 - Unfortunately, this short pathname can be somewhat dynamic and the 1.1204 - formula is difficult to explain. 1.1205 - You can use <tt>cygpath</tt> utility to map pathnames with spaces 1.1206 - or the <tt>\</tt>character into the <tt>C:/</tt> style of pathname 1.1207 - (called 'mixed'), e.g. 1.1208 - <tt>cygpath -s -m "<i>path</i>"</tt>. 1.1209 - <p> 1.1210 - The makefiles will try to translate any pathnames supplied 1.1211 - to it into the <tt>C:/</tt> style automatically. 1.1212 - <p> 1.1213 - Note that use of CYGWIN creates a unique problem with regards to 1.1214 - setting <a href="#path"><tt>PATH</tt></a>. Normally on Windows 1.1215 - the <tt>PATH</tt> variable contains directories 1.1216 - separated with the ";" character (Solaris and Linux uses ":"). 1.1217 - With CYGWIN, it uses ":", but that means that paths like "C:/path" 1.1218 - cannot be placed in the CYGWIN version of <tt>PATH</tt> and 1.1219 - instead CYGWIN uses something like <tt>/cygdrive/c/path</tt> 1.1220 - which CYGWIN understands, but only CYGWIN understands. 1.1221 - So be careful with paths on Windows. 1.1222 -</blockquote> 1.1223 - 1.1224 -<!-- ------------------------------------------------------ --> 1.1225 - 1.1226 -<h4><a name="windows_checklist">Basic Windows Check List</a></h4> 1.1227 - 1.1228 -<blockquote> 1.1229 - <ol> 1.1230 - <li> 1.1231 - Install the 1.1232 - <a href="#cygwin">CYGWIN product</a>. 1.1233 - </li> 1.1234 - <li> 1.1235 - Install the 1.1236 - <a href="#bootjdk">Bootstrap JDK</a>, set 1.1237 - <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>. 1.1238 - </li> 1.1239 - <li> 1.1240 - Install the 1.1241 - <a href="#binaryplugs">Binary Plugs</a>, set 1.1242 - <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>.. 1.1243 - </li> 1.1244 - <li> 1.1245 - Install the 1.1246 - <a href="#msvc">Microsoft Visual Studio .NET 2003 Professional</a> or the 1.1247 - <a href="#mssdk">Microsoft Platform SDK</a>. 1.1248 - </li> 1.1249 - <li> 1.1250 - Setup all environment variables for compilers 1.1251 - (see <a href="#msvc">compilers</a>). 1.1252 - </li> 1.1253 - <li> 1.1254 - Install 1.1255 - <a href="#dxsdk">Microsoft DirectX SDK</a>. 1.1256 - </li> 1.1257 - </ol> 1.1258 -</blockquote> 1.1259 - 1.1260 -<!-- ------------------------------------------------------ --> 1.1261 -<hr noshade="noshade" size="3"> 1.1262 - 1.1263 -<h3><a name="dependencies">Build Dependencies</a></h3> 1.1264 - 1.1265 -<blockquote> 1.1266 - <p> 1.1267 - Depending on the platform, the 1.1268 - OpenJDK 1.1269 - build process has some basic 1.1270 - dependencies on components not part of the 1.1271 - OpenJDK 1.1272 - sources. 1.1273 - Some of these are specific to a platform, some even specific to 1.1274 - an architecture. 1.1275 - Each dependency will have a set of ALT variables that can be set 1.1276 - to tell the makefiles where to locate the component. 1.1277 - In most cases setting these ALT variables may not be necessary 1.1278 - and the makefiles will find defaults on the system in standard 1.1279 - install locations or through component specific variables. 1.1280 - 1.1281 - <h4><a name="bootjdk">Bootstrap JDK</a></h4> 1.1282 - 1.1283 - <blockquote> 1.1284 - <p> 1.1285 - All 1.1286 - OpenJDK 1.1287 - builds require access to the previously released 1.1288 - JDK 6, this is often called a bootstrap JDK. 1.1289 - The JDK 6 binaries can be downloaded from Sun's 1.1290 - <a href="http://java.sun.com/javase/1.6.0/download.html">JDK 6 download site</a>. 1.1291 - For build performance reasons 1.1292 - is very important that this bootstrap JDK be made available on the 1.1293 - local disk of the machine doing the build. 1.1294 - You should always set 1.1295 - <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt> 1.1296 - to point to the location of 1.1297 - the bootstrap JDK installation, this is the directory pathname 1.1298 - that contains a <tt>bin, lib, and include</tt> 1.1299 - It's also a good idea to also place its <tt>bin</tt> directory 1.1300 - in the <tt>PATH</tt> environment variable, although it's 1.1301 - not required. 1.1302 - <p> 1.1303 - <strong>Solaris:</strong> 1.1304 - Some pre-installed JDK images may be available to you in the 1.1305 - directory <tt>/usr/jdk/instances</tt>. 1.1306 - If you don't set 1.1307 - <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt> 1.1308 - the makefiles will look in that location for a JDK it can use. 1.1309 - </blockquote> 1.1310 - 1.1311 - <h4><a name="binaryplugs">Binary Plugs</a></h4> 1.1312 - 1.1313 - <blockquote> 1.1314 - <p> 1.1315 - Not all of the source code that makes up the JDK is available 1.1316 - under an open-source license. 1.1317 - In order to build an OpenJDK binary from source code, 1.1318 - you must first download and install the appropriate 1.1319 - binary plug bundles from the OpenJDK, go to the 1.1320 - <a href="http://openjdk.java.net">OpenJDK</a> site and select 1.1321 - the "<b>Bundles(7)</b>" link. 1.1322 - During the OpenJDK build process these "binary plugs" 1.1323 - for the encumbered components will be copied into your 1.1324 - resulting OpenJDK binary build image. 1.1325 - These binary plug files are only for the purpose of 1.1326 - building an OpenJDK binary. 1.1327 - Make sure you set 1.1328 - <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt> 1.1329 - to the root of this installation. 1.1330 - </blockquote> 1.1331 - 1.1332 - <h4><a name="cacerts">Certificate Authority File (cacert)</a></h4> 1.1333 - 1.1334 - <blockquote> 1.1335 - <p> 1.1336 - See <a href="http://en.wikipedia.org/wiki/CAcert"> 1.1337 - www.wikipedia.org/wiki/CAcert</a> 1.1338 - for a better understanding of the Certificate Authority (CA). 1.1339 - A certificates file named "cacerts" 1.1340 - represents a system-wide keystore with CA certificates. 1.1341 - In JDK and JRE 1.1342 - binary bundles, the "cacerts" file contains root CA certificates from 1.1343 - several public CAs (e.g., VeriSign, Thawte, and Baltimore). 1.1344 - The source contain a cacerts file 1.1345 - without CA root certificates. 1.1346 - Formal JDK builders will need to secure 1.1347 - permission from each public CA and include the certificates into their 1.1348 - own custom cacerts file. 1.1349 - Failure to provide a populated cacerts file 1.1350 - will result in verification errors of a certificate chain during runtime. 1.1351 - The variable 1.1352 - <tt><a href="#ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt> 1.1353 - can be used to override the default location of the 1.1354 - cacerts file that will get placed in your build. 1.1355 - By default an empty cacerts file is provided and that should be 1.1356 - fine for most JDK developers. 1.1357 - </blockquote> 1.1358 - 1.1359 - <h4><a name="compilers">Compilers</a></h4> 1.1360 - 1.1361 - <blockquote> 1.1362 - 1.1363 - <a name="gcc"> 1.1364 - <strong>Linux gcc/binutils</strong> 1.1365 - </a> 1.1366 - 1.1367 + Note that GNU make is a historic utility and is based very 1.1368 + heavily on shell scripting, so it does not tolerate the Windows habit 1.1369 + of having spaces in pathnames or the use of the <tt>\</tt>characters in pathnames. 1.1370 + Luckily on most Windows systems, you can use <tt>/</tt>instead of \, and 1.1371 + there is always a 'short' pathname without spaces for any path that 1.1372 + contains spaces. 1.1373 + Unfortunately, this short pathname can be somewhat dynamic and the 1.1374 + formula is difficult to explain. 1.1375 + You can use <tt>cygpath</tt> utility to map pathnames with spaces 1.1376 + or the <tt>\</tt>character into the <tt>C:/</tt> style of pathname 1.1377 + (called 'mixed'), e.g. 1.1378 + <tt>cygpath -s -m "<i>path</i>"</tt>. 1.1379 + <p> 1.1380 + The makefiles will try to translate any pathnames supplied 1.1381 + to it into the <tt>C:/</tt> style automatically. 1.1382 + <p> 1.1383 + Note that use of CYGWIN creates a unique problem with regards to 1.1384 + setting <a href="#path"><tt>PATH</tt></a>. Normally on Windows 1.1385 + the <tt>PATH</tt> variable contains directories 1.1386 + separated with the ";" character (Solaris and Linux uses ":"). 1.1387 + With CYGWIN, it uses ":", but that means that paths like "C:/path" 1.1388 + cannot be placed in the CYGWIN version of <tt>PATH</tt> and 1.1389 + instead CYGWIN uses something like <tt>/cygdrive/c/path</tt> 1.1390 + which CYGWIN understands, but only CYGWIN understands. 1.1391 + So be careful with paths on Windows. 1.1392 + </blockquote> 1.1393 + <!-- ------------------------------------------------------ --> 1.1394 + <h4><a name="windows_checklist">Basic Windows Check List</a></h4> 1.1395 <blockquote> 1.1396 - <p> 1.1397 - The GNU gcc compiler version should be 3.2.2 or newer. 1.1398 - The binutils package should be 2.11.93.0.2-11 or newer. 1.1399 - The compiler used should be the default compiler installed 1.1400 - in <tt>/usr/bin</tt>. 1.1401 + <ol> 1.1402 + <li> 1.1403 + Install the 1.1404 + <a href="#cygwin">CYGWIN product</a>. 1.1405 + </li> 1.1406 + <li> 1.1407 + Install the 1.1408 + <a href="#bootjdk">Bootstrap JDK</a>, set 1.1409 + <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>. 1.1410 + </li> 1.1411 + <li> 1.1412 + Install the 1.1413 + <a href="#binaryplugs">Binary Plugs</a>, set 1.1414 + <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>.. 1.1415 + </li> 1.1416 + <li> 1.1417 + <a href="#importjdk">Optional Import JDK</a>, set 1.1418 + <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt>. 1.1419 + </li> 1.1420 + <li> 1.1421 + Install the 1.1422 + <a href="#msvc">Microsoft Visual Studio .NET 2003 Professional</a> or the 1.1423 + <a href="#mssdk">Microsoft Platform SDK</a>. 1.1424 + </li> 1.1425 + <li> 1.1426 + Setup all environment variables for compilers 1.1427 + (see <a href="#msvc">compilers</a>). 1.1428 + </li> 1.1429 + <li> 1.1430 + Install 1.1431 + <a href="#dxsdk">Microsoft DirectX SDK</a>. 1.1432 + </li> 1.1433 + </ol> 1.1434 </blockquote> 1.1435 - 1.1436 - <strong><a name="studio">Solaris: Sun Studio</a></strong> 1.1437 - 1.1438 + <!-- ------------------------------------------------------ --> 1.1439 + <hr> 1.1440 + <h3><a name="dependencies">Build Dependencies</a></h3> 1.1441 <blockquote> 1.1442 - <p> 1.1443 - At a minimum, the 1.1444 - <a href="http://developers.sun.com/sunstudio/index.jsp"> 1.1445 - Sun Studio 11 Compilers</a> 1.1446 - (containing version 5.8 of the C and C++ compilers) is required, 1.1447 - with patches from the 1.1448 - <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access"> 1.1449 - SunSolve web site</a>. 1.1450 - <p> 1.1451 - Set 1.1452 - <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> 1.1453 - to point to the location of 1.1454 - the compiler binaries, and place this location in the <tt>PATH</tt>. 1.1455 - <p> 1.1456 - The Sun Studio Express compilers at: 1.1457 - <a href="http://developers.sun.com/sunstudio/downloads/express.jsp"> 1.1458 - Sun Studio Express Download site</a> 1.1459 - are also an option, although these compilers have not 1.1460 - been extensively used yet. 1.1461 + Depending on the platform, the OpenJDK build process has some basic 1.1462 + dependencies on components not part of the OpenJDK sources. 1.1463 + Some of these are specific to a platform, some even specific to 1.1464 + an architecture. 1.1465 + Each dependency will have a set of ALT variables that can be set 1.1466 + to tell the makefiles where to locate the component. 1.1467 + In most cases setting these ALT variables may not be necessary 1.1468 + and the makefiles will find defaults on the system in standard 1.1469 + install locations or through component specific variables. 1.1470 + <!-- ------------------------------------------------------ --> 1.1471 + <h4><a name="bootjdk">Bootstrap JDK</a></h4> 1.1472 + <blockquote> 1.1473 + All OpenJDK builds require access to the previously released 1.1474 + JDK 6, this is often called a bootstrap JDK. 1.1475 + The JDK 6 binaries can be downloaded from Sun's 1.1476 + <a href="http://java.sun.com/javase/1.6.0/download.html" target="_blank">JDK 6 download site</a>. 1.1477 + For build performance reasons 1.1478 + is very important that this bootstrap JDK be made available on the 1.1479 + local disk of the machine doing the build. 1.1480 + You should always set 1.1481 + <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt> 1.1482 + to point to the location of 1.1483 + the bootstrap JDK installation, this is the directory pathname 1.1484 + that contains a <tt>bin, lib, and include</tt> 1.1485 + It's also a good idea to also place its <tt>bin</tt> directory 1.1486 + in the <tt>PATH</tt> environment variable, although it's 1.1487 + not required. 1.1488 + <p> 1.1489 + <strong>Solaris:</strong> 1.1490 + Some pre-installed JDK images may be available to you in the 1.1491 + directory <tt>/usr/jdk/instances</tt>. 1.1492 + If you don't set 1.1493 + <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt> 1.1494 + the makefiles will look in that location for a JDK it can use. 1.1495 + </blockquote> 1.1496 + <!-- ------------------------------------------------------ --> 1.1497 + <h4><a name="binaryplugs">Binary Plugs</a></h4> 1.1498 + <blockquote> 1.1499 + Not all of the source code that makes up the JDK is available 1.1500 + under an open-source license. 1.1501 + This is a temporary situation and these binary plugs will be 1.1502 + replaced with fully open source replacements as soon as possible. 1.1503 + So currently, in order to build a complete OpenJDK image, 1.1504 + you must first download and install the appropriate 1.1505 + binary plug bundles for the OpenJDK, go to the 1.1506 + <a href="http://openjdk.java.net" target="_blank">OpenJDK</a> site and select 1.1507 + the "<b>Bundles(7)</b>" link and download the binaryplugs for 1.1508 + your particular platform. 1.1509 + The file downloaded is a jar file that must be extracted by running 1.1510 + the jar file with: 1.1511 + <blockquote> 1.1512 + <pre> 1.1513 + <tt><b>java -jar jdk-7-ea-plug-b<i>nn</i>-<i>os</i>-<i>arch</i>-<i>dd</i>_<i>month</i>_<i>year</i>.jar</b></tt> 1.1514 + </pre> 1.1515 + </blockquote> 1.1516 + A prompt will be issued for acceptance of these binary plug files. 1.1517 + During the OpenJDK build process these "binary plugs" 1.1518 + for the encumbered components will be copied into your 1.1519 + resulting OpenJDK binary build image. 1.1520 + These binary plug files are only for the purpose of 1.1521 + building an OpenJDK binary. 1.1522 + Make sure you set 1.1523 + <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt> 1.1524 + to the root of this installation. 1.1525 + </blockquote> 1.1526 + <!-- ------------------------------------------------------ --> 1.1527 + <h4><a name="importjdk">Optional Import JDK</a></h4> 1.1528 + <blockquote> 1.1529 + The <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt> 1.1530 + setting is only needed if you are not building the entire 1.1531 + JDK. For example, if you have built the entire JDK once, and 1.1532 + wanted to avoid repeatedly building the Hotspot VM, you could 1.1533 + set this to the location of the previous JDK install image 1.1534 + and the build will copy the needed files from this import area. 1.1535 + </blockquote> 1.1536 + <!-- ------------------------------------------------------ --> 1.1537 + <h4><a name="cacerts">Certificate Authority File (cacert)</a></h4> 1.1538 + <blockquote> 1.1539 + See <a href="http://en.wikipedia.org/wiki/Certificate_Authority" target="_blank"> 1.1540 + http://en.wikipedia.org/wiki/Certificate_Authority</a> 1.1541 + for a better understanding of the Certificate Authority (CA). 1.1542 + A certificates file named "cacerts" 1.1543 + represents a system-wide keystore with CA certificates. 1.1544 + In JDK and JRE 1.1545 + binary bundles, the "cacerts" file contains root CA certificates from 1.1546 + several public CAs (e.g., VeriSign, Thawte, and Baltimore). 1.1547 + The source contain a cacerts file 1.1548 + without CA root certificates. 1.1549 + Formal JDK builders will need to secure 1.1550 + permission from each public CA and include the certificates into their 1.1551 + own custom cacerts file. 1.1552 + Failure to provide a populated cacerts file 1.1553 + will result in verification errors of a certificate chain during runtime. 1.1554 + The variable 1.1555 + <tt><a href="#ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt> 1.1556 + can be used to override the default location of the 1.1557 + cacerts file that will get placed in your build. 1.1558 + By default an empty cacerts file is provided and that should be 1.1559 + fine for most JDK developers. 1.1560 + </blockquote> 1.1561 + <!-- ------------------------------------------------------ --> 1.1562 + <h4><a name="compilers">Compilers</a></h4> 1.1563 + <blockquote> 1.1564 + <strong><a name="gcc">Linux gcc/binutils</a></strong> 1.1565 + <blockquote> 1.1566 + The GNU gcc compiler version should be 3.2.2 or newer. 1.1567 + The binutils package should be 2.11.93.0.2-11 or newer. 1.1568 + The compiler used should be the default compiler installed 1.1569 + in <tt>/usr/bin</tt>. 1.1570 + <p> 1.1571 + Older Linux systems may require a gcc and bunutils update. 1.1572 + The Redhat Enterprise Advanced Server 2.1 update 2 system 1.1573 + is one of these systems. 1.1574 + RedHat Linux users can obtain this binutils package from 1.1575 + <a href="http://www.redhat.com" 1.1576 + target="_blank">Redhat web site</a>. 1.1577 + You will need to remove the default compiler and binutils 1.1578 + packages and install the required packages 1.1579 + into the default location on the system. 1.1580 + However if you have a new video card driver, like 1.1581 + Geforce 4 it is best to use 1.1582 + the same compiler as the kernel was built with to 1.1583 + build the new video card driver module. 1.1584 + So you should build the modules before making this change. 1.1585 + </blockquote> 1.1586 + <strong><a name="studio">Solaris: Sun Studio</a></strong> 1.1587 + <blockquote> 1.1588 + At a minimum, the 1.1589 + <a href="http://developers.sun.com/sunstudio/index.jsp" target="_blank"> 1.1590 + Sun Studio 11 Compilers</a> 1.1591 + (containing version 5.8 of the C and C++ compilers) is required, 1.1592 + with patches from the 1.1593 + <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access" target="_blank"> 1.1594 + SunSolve web site</a>. 1.1595 + <p> 1.1596 + Set 1.1597 + <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> 1.1598 + to point to the location of 1.1599 + the compiler binaries, and place this location in the <tt>PATH</tt>. 1.1600 + <p> 1.1601 + The Sun Studio Express compilers at: 1.1602 + <a href="http://developers.sun.com/sunstudio/downloads/express.jsp" target="_blank"> 1.1603 + Sun Studio Express Download site</a> 1.1604 + are also an option, although these compilers have not 1.1605 + been extensively used yet. 1.1606 + </blockquote> 1.1607 + <strong><a name="msvc">Windows i586: Microsoft Visual Studio .NET 2003 Professional</a></strong> 1.1608 + <blockquote> 1.1609 + The 32-bit OpenJDK Windows build 1.1610 + requires Microsoft Visual Studio .NET 2003 (VS2003) Professional 1.1611 + Edition compiler. 1.1612 + The compiler and other tools are expected to reside 1.1613 + in the location defined by the variable <tt>VS71COMNTOOLS</tt> which 1.1614 + is set by the Microsoft Visual Studio .NET installer. 1.1615 + <p> 1.1616 + Once the compiler is installed, 1.1617 + it is recommended that you run <tt>VCVARS32.BAT</tt> 1.1618 + to set the compiler environment variables 1.1619 + <tt>MSVCDIR</tt>, 1.1620 + <tt>INCLUDE</tt>, 1.1621 + <tt>LIB</tt>, and 1.1622 + <tt>PATH</tt> 1.1623 + prior to building the 1.1624 + OpenJDK. 1.1625 + The above environment variables <b>MUST</b> be set. 1.1626 + <p> 1.1627 + The Microsoft Visual Studio .NET 2005 (VS2005) compiler 1.1628 + will not work at this time due to the new runtime dll 1.1629 + and the manifest requirements. 1.1630 + </blockquote> 1.1631 + <strong><a name="mssdk">Windows X64: Microsoft Platform SDK April 2005</a></strong> 1.1632 + <blockquote> 1.1633 + On <b>X64</b>, the Microsoft Platform Software 1.1634 + Development Kit (SDK), April 2005 Edition compiler, 1.1635 + is required for building the OpenJDK 1.1636 + because it contains the C/C++ compiler. 1.1637 + You will need to minimally install the Core SDK and 1.1638 + the MDAC SDK features of this compiler. 1.1639 + <p> 1.1640 + Once the Platform SDK is installed, 1.1641 + it is recommended that you run <tt>SetEnv.Cmd /X64</tt> 1.1642 + to set the compiler environment variables 1.1643 + <tt>MSSDK</tt>, 1.1644 + <tt>MSTOOLS</tt>, 1.1645 + <tt>INCLUDE</tt>, 1.1646 + <tt>LIB</tt>, and 1.1647 + <tt>PATH</tt> 1.1648 + prior to building the 1.1649 + OpenJDK. 1.1650 + The above environment variables <b>MUST</b> be set. 1.1651 + <p> 1.1652 + Note that this compiler may say it's version is a 1.1653 + Microsoft Visual Studio .NET 2005 (VS2005), but be careful, 1.1654 + it will not match the official VS2005 product. 1.1655 + This Platform SDK compiler is only used on X64 builds. 1.1656 + </blockquote> 1.1657 + </blockquote> 1.1658 + <!-- ------------------------------------------------------ --> 1.1659 + <h4><a name="zip">Zip and Unzip</a></h4> 1.1660 + <blockquote> 1.1661 + Version 2.2 (November 3rd 1997) or newer of the zip utility 1.1662 + and version 5.12 or newer of the unzip utility is needed 1.1663 + to build the JDK. 1.1664 + With Solaris, Linux, and Windows CYGWIN, the zip and unzip 1.1665 + utilities installed on the system should be fine. 1.1666 + Information and the source code for 1.1667 + ZIP.EXE and UNZIP.EXE is available on the 1.1668 + <a href="http://www.info-zip.org" 1.1669 + target="_blank">info-zip web site</a>. 1.1670 + </blockquote> 1.1671 + <!-- ------------------------------------------------------ --> 1.1672 + <h4><a name="cups">Common UNIX Printing System (CUPS) Headers (Solaris & Linux)</a></h4> 1.1673 + <blockquote> 1.1674 + <strong>Solaris:</strong> 1.1675 + CUPS header files are required for building the 1.1676 + OpenJDK on Solaris. 1.1677 + The Solaris header files can be obtained by installing 1.1678 + the package <strong>SFWcups</strong> from the Solaris Software 1.1679 + Companion CD/DVD, these often will be installed into 1.1680 + <tt>/opt/sfw/cups</tt>. 1.1681 + <p> 1.1682 + <strong>Linux:</strong> 1.1683 + CUPS header files are required for building the 1.1684 + OpenJDK on Linux. 1.1685 + The Linux header files are usually available from a "cups" 1.1686 + development package, it's recommended that you try and use 1.1687 + the package provided by the particular version of Linux that 1.1688 + you are using. 1.1689 + <p> 1.1690 + The CUPS header files can always be downloaded from 1.1691 + <a href="http://www.cups.org" target="_blank">www.cups.org</a>. 1.1692 + The variable 1.1693 + <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt> 1.1694 + can be used to override the default location of the 1.1695 + CUPS Header files. 1.1696 + </blockquote> 1.1697 + <!-- ------------------------------------------------------ --> 1.1698 + <h4><a name="freetype">FreeType 2</a></h4> 1.1699 + <blockquote> 1.1700 + Version 2.3 or newer of FreeType is required for building the OpenJDK. 1.1701 + On Unix systems required files can be available as part of your 1.1702 + distribution (while you still may need to upgrade them). 1.1703 + Note that you need development version of package that 1.1704 + includes both FreeType library and header files. 1.1705 + <p> 1.1706 + You can always download latest FreeType version from the 1.1707 + <a href="http://www.freetype.org" target="_blank">FreeType website</a>. 1.1708 + <p> 1.1709 + Makefiles will try to pick FreeType from /usr/lib and /usr/include. 1.1710 + In case it is installed elsewhere you will need to set environment 1.1711 + variables 1.1712 + <tt><a href="#ALT_FREETYPE_LIB_PATH">ALT_FREETYPE_LIB_PATH</a></tt> 1.1713 + and 1.1714 + <tt><a href="#ALT_FREETYPE_HEADERS_PATH">ALT_FREETYPE_HEADERS_PATH</a></tt> 1.1715 + to refer to place where library and header files are installed. 1.1716 + </blockquote> 1.1717 + <!-- ------------------------------------------------------ --> 1.1718 + <h4><a name="alsa">Advanced Linux Sound Architecture (ALSA) (Linux only)</a></h4> 1.1719 + <blockquote> 1.1720 + <strong>Linux only:</strong> 1.1721 + Version 0.9.1 or newer of the ALSA files are 1.1722 + required for building the OpenJDK on Linux. 1.1723 + These Linux files are usually available from an "alsa" 1.1724 + of "libasound" 1.1725 + development package, it's highly recommended that you try and use 1.1726 + the package provided by the particular version of Linux that 1.1727 + you are using. 1.1728 + The makefiles will check this emit a sanity error if it is 1.1729 + missing or the wrong version. 1.1730 + <p> 1.1731 + In particular, older Linux systems will likely not have the 1.1732 + right version of ALSA installed, for example 1.1733 + Redhat AS 2.1 U2 and SuSE 8.1 do not include a sufficiently 1.1734 + recent ALSA distribution. 1.1735 + On rpm-based systems, you can see if ALSA is installed by 1.1736 + running this command: 1.1737 + <pre> 1.1738 + <tt>rpm -qa | grep alsa</tt> 1.1739 + </pre> 1.1740 + Both <tt>alsa</tt> and <tt>alsa-devel</tt> packages are needed. 1.1741 + <p> 1.1742 + If your distribution does not come with ALSA, and you can't 1.1743 + find ALSA packages built for your particular system, 1.1744 + you can try to install the pre-built ALSA rpm packages from 1.1745 + <a href="http://www.freshrpms.net/" target="_blank"> 1.1746 + <tt>www.freshrpms.net</tt></a>. 1.1747 + Note that installing a newer ALSA could 1.1748 + break sound output if an older version of ALSA was previously 1.1749 + installed on the system, but it will enable JDK compilation. 1.1750 + <blockquote> 1.1751 + Installation: execute as root<br> 1.1752 + [i586]: <code>rpm -Uv --force alsa-lib-devel-0.9.1-rh61.i386.rpm</code><br> 1.1753 + [x64]: <code>rpm -Uv --force alsa-lib-devel-0.9.8-amd64.x86_64.rpm</code><br> 1.1754 + Uninstallation:<br> 1.1755 + [i586]: <code>rpm -ev alsa-lib-devel-0.9.1-rh61</code><br> 1.1756 + [x64]:<code>rpm -ev alsa-lib-devel-0.9.8-amd64</code><br> 1.1757 + Make sure that you do not link to the static library 1.1758 + (<tt>libasound.a</tt>), 1.1759 + by verifying that the dynamic library (<tt>libasound.so</tt>) is 1.1760 + correctly installed in <tt>/usr/lib</tt>. 1.1761 + </blockquote> 1.1762 + As a last resort you can go to the 1.1763 + <a href="http://www.alsa-project.org" target="_blank"> 1.1764 + Advanced Linux Sound Architecture Site</a> and build it from 1.1765 + source. 1.1766 + <blockquote> 1.1767 + Download driver and library 1.1768 + source tarballs from 1.1769 + <a href="http://www.alsa-project.org" target="_blank">ALSA's homepage</a>. 1.1770 + As root, execute the following 1.1771 + commands (you may need to adapt the version number): 1.1772 + <pre> 1.1773 + <tt> 1.1774 + $ tar xjf alsa-driver-0.9.1.tar.bz2 1.1775 + $ cd alsa-driver-0.9.1 1.1776 + $ ./configure 1.1777 + $ make install 1.1778 + $ cd .. 1.1779 + $ tar xjf alsa-lib-0.9.1.tar.bz2 1.1780 + $ cd alsa-lib-0.9.1 1.1781 + $ ./configure 1.1782 + $ make install 1.1783 + </tt> 1.1784 + </pre> 1.1785 + Should one of the above steps fail, refer to the documentation on 1.1786 + ALSA's home page. 1.1787 + </blockquote> 1.1788 + Note that this is a minimum install that enables 1.1789 + building the JDK platform. To actually use ALSA sound drivers, more 1.1790 + steps are necessary as outlined in the documentation on ALSA's homepage. 1.1791 + <p> 1.1792 + ALSA can be uninstalled by executing <tt>make uninstall</tt> first in 1.1793 + the <tt>alsa-lib-0.9.1</tt> directory and then in 1.1794 + <tt>alsa-driver-0.9.1</tt>. 1.1795 + </blockquote> 1.1796 + There are no ALT* variables to change the assumed locations of ALSA, 1.1797 + the makefiles will expect to find the ALSA include files and library at: 1.1798 + <tt>/usr/include/alsa</tt> and <tt>/usr/lib/libasound.so</tt>. 1.1799 </blockquote> 1.1800 - 1.1801 - <a name="msvc"> 1.1802 - <strong>Windows i586: Microsoft Visual Studio .NET 2003 Professional</strong> 1.1803 - </a> 1.1804 - 1.1805 + <!-- ------------------------------------------------------ --> 1.1806 + <h4>Windows Specific Dependencies</h4> 1.1807 <blockquote> 1.1808 - <p> 1.1809 - The 32-bit 1.1810 - OpenJDK 1.1811 - Windows build 1.1812 - requires Microsoft Visual Studio .NET 2003 (VS2003) Professional 1.1813 - Edition compiler. 1.1814 - The compiler and other tools are expected to reside 1.1815 - in the location defined by the variable <tt>VS71COMNTOOLS</tt> which 1.1816 - is set by the Microsoft Visual Studio .NET installer. 1.1817 - <p> 1.1818 - Once the compiler is installed, 1.1819 - it is recommended that you run <tt>VCVARS32.BAT</tt> 1.1820 - to set the compiler environment variables 1.1821 - <tt>MSVCDIR</tt>, 1.1822 - <tt>INCLUDE</tt>, 1.1823 - <tt>LIB</tt>, and 1.1824 - <tt>PATH</tt> 1.1825 - prior to building the 1.1826 - OpenJDK. 1.1827 - The above environment variables <b>MUST</b> be set. 1.1828 - <p> 1.1829 - The Microsoft Visual Studio .NET 2005 (VS2005) compiler 1.1830 - will not work at this time due to the new runtime dll 1.1831 - and the manifest requirements. 1.1832 - </blockquote> 1.1833 - 1.1834 - <a name="mssdk"> 1.1835 - <strong>Windows X64: Microsoft Platform SDK April 2005</strong> 1.1836 - </a> 1.1837 - 1.1838 - <blockquote> 1.1839 - <p> 1.1840 - On <b>X64</b>, 1.1841 - the Microsoft Platform Software 1.1842 - Development Kit (SDK), April 2005 Edition compiler, is required for 1.1843 - building the 1.1844 - OpenJDK 1.1845 - because it contains the C/C++ compiler. 1.1846 - You will need to minimally install the Core SDK and 1.1847 - the MDAC SDK features of this compiler. 1.1848 - <p> 1.1849 - Once the Platform SDK is installed, 1.1850 - it is recommended that you run <tt>SetEnv.Cmd /X64</tt> 1.1851 - to set the compiler environment variables 1.1852 - <tt>MSSDK</tt>, 1.1853 - <tt>MSTOOLS</tt>, 1.1854 - <tt>INCLUDE</tt>, 1.1855 - <tt>LIB</tt>, and 1.1856 - <tt>PATH</tt> 1.1857 - prior to building the 1.1858 - OpenJDK. 1.1859 - The above environment variables <b>MUST</b> be set. 1.1860 - <p> 1.1861 - Note that this compiler may say it's version is a 1.1862 - Microsoft Visual Studio .NET 2005 (VS2005), but be careful, 1.1863 - it will not match the official VS2005 product. 1.1864 - This Platform SDK compiler is only used on X64 builds. 1.1865 - </blockquote> 1.1866 - 1.1867 - </blockquote> 1.1868 - 1.1869 - <h4><a name="cups">Common UNIX Printing System (CUPS) Headers (Solaris & Linux)</a></h4> 1.1870 - 1.1871 - <blockquote> 1.1872 - <p> 1.1873 - <strong>Solaris:</strong> 1.1874 - CUPS header files are required for building the 1.1875 - OpenJDK on Solaris. 1.1876 - The Solaris header files can be obtained by installing 1.1877 - the package <strong>SFWcups</strong> from the Solaris Software 1.1878 - Companion CD/DVD, these often will be installed into 1.1879 - <tt>/opt/sfw/cups</tt>. 1.1880 - <p> 1.1881 - <strong>Linux:</strong> 1.1882 - CUPS header files are required for building the 1.1883 - OpenJDK on Linux. 1.1884 - The Linux header files are usually available from a "cups" 1.1885 - development package, it's recommended that you try and use 1.1886 - the package provided by the particular version of Linux that 1.1887 - you are using. 1.1888 - <p> 1.1889 - The CUPS header files can always be downloaded from 1.1890 - <a href="http://www.cups.org">www.cups.org</a>. 1.1891 - The variable 1.1892 - <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt> 1.1893 - can be used to override the default location of the 1.1894 - CUPS Header files. 1.1895 - </blockquote> 1.1896 - 1.1897 - <h4><a name="freetype">FreeType 2</a></h4> 1.1898 - 1.1899 - <blockquote> 1.1900 - <p> 1.1901 - Version 2.3 or newer of FreeType is required for building the OpenJDK. 1.1902 - On Unix systems required files can be available as part of your 1.1903 - distribution (while you still may need to upgrade them). 1.1904 - Note that you need development version of package that 1.1905 - includes both FreeType library and header files. 1.1906 - </p> 1.1907 - <p> 1.1908 - You can always download latest FreeType version from the 1.1909 - <a href="http://www.freetype.org">FreeType website</a>. 1.1910 - </p> 1.1911 - <p> 1.1912 - Makefiles will try to pick FreeType from /usr/lib and /usr/include. 1.1913 - In case it is installed elsewhere you will need to set environment 1.1914 - variables 1.1915 - <tt><a href="#ALT_FREETYPE_LIB_PATH">ALT_FREETYPE_LIB_PATH</a></tt> 1.1916 - and 1.1917 - <tt><a href="#ALT_FREETYPE_HEADERS_PATH">ALT_FREETYPE_HEADERS_PATH</a></tt> 1.1918 - to refer to place where library and header files are installed. 1.1919 - </p> 1.1920 - </blockquote> 1.1921 - 1.1922 - <h4><a name="alsa">Advanced Linux Sound Architecture (ALSA) (Linux only)</a></h4> 1.1923 - 1.1924 - <blockquote> 1.1925 - <p> 1.1926 - <strong>Linux only:</strong> 1.1927 - Version 0.9.1 or newer of the ALSA files are 1.1928 - required for building the 1.1929 - OpenJDK on Linux. 1.1930 - These Linux files are usually available from an "alsa" 1.1931 - of "libasound" 1.1932 - development package, it's recommended that you try and use 1.1933 - the package provided by the particular version of Linux that 1.1934 - you are using. 1.1935 - The makefiles will check this emit a sanity error if it is 1.1936 - missing or the wrong version. 1.1937 - As a last resort you can go to the 1.1938 - <a href="http://www.alsa-project.org" target="_blank"> 1.1939 - Advanced Linux Sound Architecture Site</a>. 1.1940 - </blockquote> 1.1941 - 1.1942 - <h4>Windows Specific Dependencies</h4> 1.1943 - 1.1944 - <blockquote> 1.1945 - 1.1946 - <strong>Unix Command Tools (<a name="cygwin">CYGWIN</a>)</strong> 1.1947 - 1.1948 - <blockquote> 1.1949 - <p> 1.1950 - The 1.1951 - OpenJDK 1.1952 - requires access to a set of unix command tools 1.1953 - on Windows which can be supplied by 1.1954 - <a href="http://www.cygwin.com">CYGWIN</a>. 1.1955 - <p> 1.1956 - The 1.1957 - OpenJDK 1.1958 - build 1.1959 - requires CYGWIN version 1.5.12 or newer. 1.1960 - Information about CYGWIN can 1.1961 - be obtained from the CYGWIN website at 1.1962 - <a href="http://www.cygwin.com">www.cygwin.com</a>. 1.1963 - <p> 1.1964 - By default CYGWIN doesn't install all the tools required for building 1.1965 - the OpenJDK. 1.1966 - Along with the default installation, you need to install 1.1967 - the following tools. 1.1968 + <strong>Unix Command Tools (<a name="cygwin">CYGWIN</a>)</strong> 1.1969 + <blockquote> 1.1970 + The OpenJDK requires access to a set of unix command tools 1.1971 + on Windows which can be supplied by 1.1972 + <a href="http://www.cygwin.com" target="_blank">CYGWIN</a>. 1.1973 + <p> 1.1974 + The OpenJDK build requires CYGWIN version 1.5.12 or newer. 1.1975 + Information about CYGWIN can 1.1976 + be obtained from the CYGWIN website at 1.1977 + <a href="http://www.cygwin.com" target="_blank">www.cygwin.com</a>. 1.1978 + <p> 1.1979 + By default CYGWIN doesn't install all the tools required for building 1.1980 + the OpenJDK. 1.1981 + Along with the default installation, you need to install 1.1982 + the following tools. 1.1983 + <blockquote> 1.1984 + <table border="1"> 1.1985 + <thead> 1.1986 + <tr> 1.1987 + <td>Binary Name</td> 1.1988 + <td>Package</td> 1.1989 + <td>Description</td> 1.1990 + </tr> 1.1991 + </thead> 1.1992 + <tbody> 1.1993 + <tr> 1.1994 + <td>ar.exe</td> 1.1995 + <td>Devel</td> 1.1996 + <td>binutils: The GNU assembler, linker and binary 1.1997 + utilities</td> 1.1998 + </tr> 1.1999 + <tr> 1.2000 + <td>make.exe</td> 1.2001 + <td>Devel</td> 1.2002 + <td>make: The GNU version of the 'make' utility</td> 1.2003 + </tr> 1.2004 + <tr> 1.2005 + <td>m4.exe</td> 1.2006 + <td>Interpreters</td> 1.2007 + <td>m4: GNU implementation of the traditional Unix macro 1.2008 + processor</td> 1.2009 + </tr> 1.2010 + <tr> 1.2011 + <td>cpio.exe</td> 1.2012 + <td>Utils</td> 1.2013 + <td>cpio: A program to manage archives of files</td> 1.2014 + </tr> 1.2015 + <tr> 1.2016 + <td>awk.exe</td> 1.2017 + <td>Utils</td> 1.2018 + <td>awk: Pattern-directed scanning and processing language</td> 1.2019 + </tr> 1.2020 + <tr> 1.2021 + <td>file.exe</td> 1.2022 + <td>Utils</td> 1.2023 + <td>file: Determines file type using 'magic' numbers</td> 1.2024 + </tr> 1.2025 + <tr> 1.2026 + <td>zip.exe</td> 1.2027 + <td>Utils</td> 1.2028 + <td>zip: Package and compress (archive) files</td> 1.2029 + </tr> 1.2030 + <tr> 1.2031 + <td>unzip.exe</td> 1.2032 + <td>Utils</td> 1.2033 + <td>unzip: Extract compressed files in a ZIP archive</td> 1.2034 + </tr> 1.2035 + <tr> 1.2036 + <td>free.exe</td> 1.2037 + <td>Utils</td> 1.2038 + <td>free: Display amount of free and used memory in the system</td> 1.2039 + </tr> 1.2040 + </tbody> 1.2041 + </table> 1.2042 + </blockquote> 1.2043 + <p> 1.2044 + Note that the CYGWIN software can conflict with other non-CYGWIN 1.2045 + software on your Windows system. 1.2046 + CYGWIN provides a 1.2047 + <a href="http://cygwin.com/faq/faq.using.html" target="_blank">FAQ</a> for 1.2048 + known issues and problems, of particular interest is the 1.2049 + section on 1.2050 + <a href="http://cygwin.com/faq/faq.using.html#faq.using.bloda" target="_blank"> 1.2051 + BLODA (applications that interfere with CYGWIN)</a>. 1.2052 + </blockquote> 1.2053 + <strong><a name="dxsdk">Microsoft DirectX 9.0 SDK header files and libraries</a></strong> 1.2054 <blockquote> 1.2055 - <table border="1"> 1.2056 - <thead> 1.2057 - <tr> 1.2058 - <td>Binary Name</td> 1.2059 - <td>Package</td> 1.2060 - <td>Description</td> 1.2061 - </tr> 1.2062 - </thead> 1.2063 - <tbody> 1.2064 - <tr> 1.2065 - <td>ar.exe</td> 1.2066 - <td>Devel</td> 1.2067 - <td>binutils: The GNU assembler, linker and binary 1.2068 - utilities</td> 1.2069 - </tr> 1.2070 - <tr> 1.2071 - <td>make.exe</td> 1.2072 - <td>Devel</td> 1.2073 - <td>make: The GNU version of the 'make' utility</td> 1.2074 - </tr> 1.2075 - <tr> 1.2076 - <td>m4.exe</td> 1.2077 - <td>Interpreters</td> 1.2078 - <td>m4: GNU implementation of the traditional Unix macro 1.2079 - processor</td> 1.2080 - </tr> 1.2081 - <tr> 1.2082 - <td>cpio.exe</td> 1.2083 - <td>Utils</td> 1.2084 - <td>cpio: A program to manage archives of files</td> 1.2085 - </tr> 1.2086 - <tr> 1.2087 - <td>file.exe</td> 1.2088 - <td>Utils</td> 1.2089 - <td>file: Determines file type using 'magic' numbers</td> 1.2090 - </tr> 1.2091 - </tbody> 1.2092 - </table> 1.2093 + Microsoft DirectX 9.0 SDK (Summer 2004) 1.2094 + headers are required for building 1.2095 + OpenJDK. 1.2096 + This SDK can be downloaded from 1.2097 + <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FD044A42-9912-42A3-9A9E-D857199F888E&displaylang=en" target="_blank"> 1.2098 + Microsoft DirectX 9.0 SDK (Summer 2004)</a>. 1.2099 + If the link above becomes obsolete, the SDK can be found from 1.2100 + <a href="http://download.microsoft.com" target="_blank">the Microsoft Download Site</a> 1.2101 + (search with "DirectX 9.0 SDK Update Summer 2004"). 1.2102 + The location of this SDK can be set with 1.2103 + <tt><a href="#ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> 1.2104 + but it's normally found via the DirectX environment variable 1.2105 + <tt>DXSDK_DIR</tt>. 1.2106 + </blockquote> 1.2107 + <strong><a name="msvcrt"><tt>MSVCRT.DLL</tt></a></strong> 1.2108 + <blockquote> 1.2109 + <strong>i586 only:</strong> 1.2110 + The OpenJDK 32bit build requires access to 1.2111 + <tt>MSVCRT.DLL</tt> version 6.00.8337.0 or newer. 1.2112 + If the <tt>MSVCRT.DLL</tt> is not installed in 1.2113 + the system32 directory set the 1.2114 + <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a> 1.2115 + variable to the location. 1.2116 + <p> 1.2117 + <strong>X64 only:</strong> 1.2118 + The OpenJDK 64bit build requires access to 1.2119 + <tt>MSVCRT.DLL</tt> version 7.0.3790.0 or newer, which is 1.2120 + usually supplied by the 1.2121 + <a href="#mssdk">Platform SDK</a>. 1.2122 + If it is not available from the Platform SDK, 1.2123 + set the 1.2124 + <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a> 1.2125 + variable to the location. 1.2126 + </blockquote> 1.2127 + <strong><tt><a name="msvcr71">MSVCR71.DLL</a></tt></strong> 1.2128 + <blockquote> 1.2129 + <strong>i586 only:</strong> 1.2130 + The 1.2131 + OpenJDK 1.2132 + build requires access to 1.2133 + MSVCR71.DLL version 7.10.3052.4 or newer which should be 1.2134 + supplied by the 1.2135 + <a href="#msvc">Visual Studio product</a> 1.2136 + If the <tt>MSVCR71.DLL</tt> is not available from the 1.2137 + Visual Studio product 1.2138 + set the 1.2139 + <a href="#ALT_MSVCR71_DLL_PATH"><tt>ALT_MSVCR71_DLL_PATH</tt></a> 1.2140 + variable to the location. 1.2141 </blockquote> 1.2142 </blockquote> 1.2143 - 1.2144 - <a name="dxsdk"> 1.2145 - <strong>Microsoft DirectX 9.0 SDK header files and libraries</strong> 1.2146 - </a> 1.2147 - 1.2148 + <!-- ------------------------------------------------------ --> 1.2149 + <hr> 1.2150 + <h2><a name="creating">Creating the Build</a></h2> 1.2151 <blockquote> 1.2152 + Once a machine is setup to build the OpenJDK, 1.2153 + the steps to create the build are fairly simple. 1.2154 + The various ALT settings can either be made into variables 1.2155 + or can be supplied on the 1.2156 + <a href="#gmake"><tt><i>gmake</i></tt></a> 1.2157 + command. 1.2158 + <ol> 1.2159 + <li>Use the sanity rule to double check all the ALT settings: 1.2160 + <blockquote> 1.2161 + <tt> 1.2162 + <i>gmake</i> 1.2163 + sanity 1.2164 + [ARCH_DATA_MODEL=<i>32 or 64</i>] 1.2165 + [other "ALT_" overrides] 1.2166 + </tt> 1.2167 + </blockquote> 1.2168 + </li> 1.2169 + <li>Start the build with the command: 1.2170 + <blockquote> 1.2171 + <tt> 1.2172 + <i>gmake</i> 1.2173 + [ARCH_DATA_MODEL=<i>32 or 64</i>] 1.2174 + [ALT_OUTPUTDIR=<i>output_directory</i>] 1.2175 + [other "ALT_" overrides] 1.2176 + </tt> 1.2177 + </blockquote> 1.2178 + </li> 1.2179 + </ol> 1.2180 <p> 1.2181 - Microsoft DirectX 9.0 SDK (Summer 2004) 1.2182 - headers are required for building 1.2183 - OpenJDK. 1.2184 - This SDK can be downloaded from 1.2185 - <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FD044A42-9912-42A3-9A9E-D857199F888E&displaylang=en"> 1.2186 - Microsoft DirectX 9.0 SDK (Summer 2004)</a>. 1.2187 - If the link above becomes obsolete, the SDK can be found from 1.2188 - <a href="http://download.microsoft.com">the Microsoft Download Site</a> 1.2189 - (search with "DirectX 9.0 SDK Update Summer 2004"). 1.2190 - The location of this SDK can be set with 1.2191 - <tt><a href="#ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> 1.2192 - but it's normally found via the DirectX environment variable 1.2193 - <tt>DXSDK_DIR</tt>. 1.2194 + <strong>Solaris:</strong> 1.2195 + Note that ARCH_DATA_MODEL is really only needed on Solaris to 1.2196 + indicate you want to built the 64-bit version. 1.2197 + And before the Solaris 64-bit binaries can be used, they 1.2198 + must be merged with the binaries from a separate 32-bit build. 1.2199 + The merged binaries may then be used in either 32-bit or 64-bit mode, with 1.2200 + the selection occurring at runtime 1.2201 + with the <tt>-d32</tt> or <tt>-d64</tt> options. 1.2202 </blockquote> 1.2203 - 1.2204 - <a name="msvcrt"> 1.2205 - <strong><tt>MSVCRT.DLL</tt></strong> 1.2206 - </a> 1.2207 - 1.2208 - <blockquote> 1.2209 + <!-- ------------------------------------------------------ --> 1.2210 + <hr> 1.2211 + <h2><a name="testing">Testing the Build</a></h2> 1.2212 + <blockquote> 1.2213 + When the build is completed, you should see the generated 1.2214 + binaries and associated files in the <tt>j2sdk-image</tt> 1.2215 + directory in the output directory. 1.2216 + The default output directory is 1.2217 + <tt>build/<i>platform</i></tt>, 1.2218 + where <tt><i>platform</i></tt> is one of 1.2219 + <tt><ul> 1.2220 + <li>solaris-sparc</li> 1.2221 + <li>solaris-sparcv9</li> 1.2222 + <li>solaris-i586</li> 1.2223 + <li>solaris-amd64</li> 1.2224 + <li>linux-i586</li> 1.2225 + <li>linux-amd64</li> 1.2226 + <li>windows-i586</li> 1.2227 + <li>windows-amd64</li> 1.2228 + </ul></tt> 1.2229 + In particular, the 1.2230 + <tt>build/<i>platform</i>/j2sdk-image/bin</tt> 1.2231 + directory should contain executables for the 1.2232 + OpenJDK tools and utilities. 1.2233 <p> 1.2234 - <strong>i586 only:</strong> 1.2235 - The 1.2236 - OpenJDK 1.2237 - 32bit build requires 1.2238 - access to <tt>MSVCRT.DLL</tt> 1.2239 - version 6.00.8337.0 or newer. 1.2240 - If the <tt>MSVCRT.DLL</tt> is not installed in 1.2241 - the system32 directory set the 1.2242 - <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a> 1.2243 - variable to the location. 1.2244 - <p> 1.2245 - <strong>X64 only:</strong> 1.2246 - The OpenJDK 64bit build requires access to 1.2247 - <tt>MSVCRT.DLL</tt> version 7.0.3790.0 or newer, which is 1.2248 - usually supplied by the 1.2249 - <a href="#mssdk">Platform SDK</a>. 1.2250 - If it is not available from the Platform SDK, 1.2251 - set the 1.2252 - <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a> 1.2253 - variable to the location. 1.2254 + You can test that the build completed properly by using the build 1.2255 + to run the various demos that you will find in the 1.2256 + <tt>build/<i>platform</i>/j2sdk-image/demo</tt> 1.2257 + directory. 1.2258 + <p> 1.2259 + The provided regression tests can be run with the <tt>jtreg</tt> 1.2260 + utility from 1.2261 + <a href="http://openjdk.java.net/jtreg/" target="_blank">the jtreg site</a>. 1.2262 </blockquote> 1.2263 - 1.2264 - <a name="msvcr71"> 1.2265 - <strong><tt>MSVCR71.DLL</tt></strong> 1.2266 - </a> 1.2267 - 1.2268 + <!-- ------------------------------------------------------ --> 1.2269 + <hr> 1.2270 + <h2><a name="variables">Environment/Make Variables</a></h2> 1.2271 + <p> 1.2272 + Some of the 1.2273 + environment or make variables (just called <b>variables</b> in this 1.2274 + document) that can impact the build are: 1.2275 <blockquote> 1.2276 - <p> 1.2277 - <strong>i586 only:</strong> 1.2278 - The 1.2279 - OpenJDK 1.2280 - build requires access to 1.2281 - MSVCR71.DLL version 7.10.3052.4 or newer which should be 1.2282 - supplied by the 1.2283 - <a href="#msvc">Visual Studio product</a> 1.2284 - If the <tt>MSVCR71.DLL</tt> is not available from the 1.2285 - Visual Studio product 1.2286 - set the 1.2287 - <a href="#ALT_MSVCR71_DLL_PATH"><tt>ALT_MSVCR71_DLL_PATH</tt></a> 1.2288 - variable to the location. 1.2289 - </blockquote> 1.2290 - 1.2291 - </blockquote> 1.2292 - 1.2293 - 1.2294 -</blockquote> 1.2295 - 1.2296 - 1.2297 -<hr noshade="noshade" size="3"> 1.2298 - 1.2299 -<h2><a name="creating">Creating the Build</a></h2> 1.2300 - 1.2301 -<blockquote> 1.2302 - <p> 1.2303 - Once a machine is setup to build the 1.2304 - OpenJDK, 1.2305 - the steps to create the 1.2306 - build are fairly simple. 1.2307 - The various ALT settings can either be made into variables 1.2308 - or can be supplied on the 1.2309 - <a href="#gmake"><tt><i>gmake</i></tt></a> 1.2310 - command. 1.2311 - <p> 1.2312 - <ol> 1.2313 - <li>Use the sanity rule to double check all the ALT settings: 1.2314 - <blockquote> 1.2315 - <tt> 1.2316 - <i>gmake</i> 1.2317 - sanity 1.2318 - [ARCH_DATA_MODEL=<i>32 or 64</i>] 1.2319 - [other "ALT_" overrides] 1.2320 - </tt> 1.2321 - </blockquote> 1.2322 - </li> 1.2323 - <li>Start the build with the command: 1.2324 - <blockquote> 1.2325 - <tt> 1.2326 - <i>gmake</i> 1.2327 - [ARCH_DATA_MODEL=<i>32 or 64</i>] 1.2328 - [ALT_OUTPUTDIR=<i>output_directory</i>] 1.2329 - [other "ALT_" overrides] 1.2330 - </tt> 1.2331 - </blockquote> 1.2332 - </li> 1.2333 - </ol> 1.2334 - <p> 1.2335 - <strong>Solaris:</strong> 1.2336 - Note that ARCH_DATA_MODEL is really only needed on Solaris to 1.2337 - indicate you want to built the 64-bit version. 1.2338 - And before the Solaris 64-bit binaries can be used, they 1.2339 - must be merged with the binaries from a separate 32-bit build. 1.2340 - The merged binaries may then be used in either 32-bit or 64-bit mode, with 1.2341 - the selection occurring at runtime 1.2342 - with the <tt>-d32</tt> or <tt>-d64</tt> options. 1.2343 -</blockquote> 1.2344 - 1.2345 -<!-- ------------------------------------------------------ --> 1.2346 -<hr noshade="noshade" size="3"> 1.2347 - 1.2348 -<h2><a name="testing">Testing the Build</a></h2> 1.2349 - 1.2350 -<blockquote> 1.2351 - <p> 1.2352 - When the build is completed, you should see the generated 1.2353 - binaries and associated files in the <tt>j2sdk-image</tt> 1.2354 - directory in the output directory. 1.2355 - The default output directory is 1.2356 - <tt>build/<i>platform</i></tt>, 1.2357 - where <tt><i>platform</i></tt> is one of 1.2358 - <tt><ul> 1.2359 - <li>solaris-sparc</li> 1.2360 - <li>solaris-sparcv9</li> 1.2361 - <li>solaris-i586</li> 1.2362 - <li>solaris-amd64</li> 1.2363 - <li>linux-i586</li> 1.2364 - <li>linux-amd64</li> 1.2365 - <li>windows-i586</li> 1.2366 - <li>windows-amd64</li> 1.2367 - </ul></tt> 1.2368 - In particular, the 1.2369 - <tt>build/<i>platform</i>/j2sdk-image/bin</tt> 1.2370 - directory should contain executables for the 1.2371 - OpenJDK 1.2372 - tools and utilities. 1.2373 - <p> 1.2374 - You can test that the build completed properly by using the build 1.2375 - to run the various demos that you will find in the 1.2376 - <tt>build/<i>platform</i>/j2sdk-image/demo</tt> 1.2377 - directory. 1.2378 - <p> 1.2379 - The provided regression tests can be run with the <tt>jtreg</tt> 1.2380 - utility from 1.2381 - <a href="http://openjdk.java.net/jtreg/">the jtreg site</a>. 1.2382 -</blockquote> 1.2383 - 1.2384 -<!-- ------------------------------------------------------ --> 1.2385 -<hr noshade="noshade" size="3"> 1.2386 - 1.2387 -<h2><a name="variables">Environment/Make Variables</a></h2> 1.2388 - 1.2389 -<p> 1.2390 -Some of the 1.2391 -environment or make variables (just called <b>variables</b> in this 1.2392 -document) that can impact the build are: 1.2393 - 1.2394 -<blockquote> 1.2395 - 1.2396 - <dl> 1.2397 - 1.2398 - <dt><a name="path"><tt>PATH</tt></a> </dt> 1.2399 - <dd>Typically you want to set the <tt>PATH</tt> to include: 1.2400 - <ul> 1.2401 - <li>The location of the GNU make binary</li> 1.2402 - <li>The location of the JDK 6 <tt>java</tt> 1.2403 - (see <a href="#bootjdk">Bootstrap JDK</a>)</li> 1.2404 - <li>The location of the C/C++ compilers 1.2405 - (see <a href="#compilers"><tt>compilers</tt></a>)</li> 1.2406 - <li>The location or locations for the Unix command utilities 1.2407 - (e.g. <tt>/usr/bin</tt>)</li> 1.2408 - </ul> 1.2409 - </dd> 1.2410 - 1.2411 - <dt><a name="arch_data_model"><tt>ARCH_DATA_MODEL</tt></a></dt> 1.2412 - <dd>The <tt>ARCH_DATA_MODEL</tt> variable 1.2413 - is used to specify whether the build is to generate 32-bit or 64-bit 1.2414 - binaries. 1.2415 - The Solaris build supports either 32-bit or 64-bit builds, but 1.2416 - Windows and Linux will support only one, depending on the specific 1.2417 - OS being used. 1.2418 - Normally, setting this variable is only necessary on Solaris. 1.2419 - Set <tt>ARCH_DATA_MODEL</tt> to <tt>32</tt> for generating 32-bit binaries, 1.2420 - or to <tt>64</tt> for generating 64-bit binaries. 1.2421 - </dd> 1.2422 - 1.2423 - <dt><a name="ALT_BOOTDIR"><tt>ALT_BOOTDIR</tt></a></dt> 1.2424 - <dd> 1.2425 - The location of the bootstrap JDK installation. 1.2426 - See <a href="#bootjdk">Bootstrap JDK</a> for more information. 1.2427 - You should always install your own local Bootstrap JDK and 1.2428 - always set <tt>ALT_BOOTDIR</tt> explicitly. 1.2429 - </dd> 1.2430 - 1.2431 - <dt><a name="ALT_OUTPUTDIR"><tt>ALT_OUTPUTDIR</tt></a> </dt> 1.2432 - <dd> 1.2433 - An override for specifying the (absolute) path of where the 1.2434 - build output is to go. 1.2435 - The default output directory will be build/<i>platform</i>. 1.2436 - </dd> 1.2437 - 1.2438 - <dt><a name="ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> </dt> 1.2439 - <dd> 1.2440 - The location of the C/C++ compiler. 1.2441 - The default varies depending on the platform. 1.2442 - </dd> 1.2443 - 1.2444 - <dt><tt><a name="ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt></dt> 1.2445 - <dd> 1.2446 - The location of the <a href="#cacerts">cacerts</a> file. 1.2447 - The default will refer to 1.2448 - <tt>jdk/src/share/lib/security/cacerts</tt>. 1.2449 - </dd> 1.2450 - 1.2451 - <dt><a name="ALT_BINARY_PLUGS_PATH"><tt>ALT_BINARY_PLUGS_PATH</tt></a></dt> 1.2452 - <dd> 1.2453 - The location of the binary plugs installation. 1.2454 - See <a href="#binaryplugs">Binary Plugs</a> for more information. 1.2455 - You should always have a local copy of a 1.2456 - recent Binary Plugs install image 1.2457 - and set this variable to that location. 1.2458 - </dd> 1.2459 - 1.2460 - <dt><a name="ALT_CUPS_HEADERS_PATH"><tt>ALT_CUPS_HEADERS_PATH</tt></a> </dt> 1.2461 - <dd> 1.2462 - The location of the CUPS header files. 1.2463 - See <a href="#cups">CUPS information</a> for more information. 1.2464 - If this path does not exist the fallback path is 1.2465 - <tt>/usr/include</tt>. 1.2466 - </dd> 1.2467 - 1.2468 - 1.2469 - <dt><a name="ALT_FREETYPE_LIB_PATH"><tt>ALT_FREETYPE_LIB_PATH</tt></a></dt> 1.2470 - <dd> 1.2471 - The location of the FreeType shared library. 1.2472 - See <a href="#freetype">FreeType information</a> for details. 1.2473 - </dd> 1.2474 - 1.2475 - <dt><a name="ALT_FREETYPE_HEADERS_PATH"><tt>ALT_FREETYPE_HEADERS_PATH</tt></a></dt> 1.2476 - <dd> 1.2477 - The location of the FreeType header files. 1.2478 - See <a href="#freetype">FreeType information</a> for details. 1.2479 - </dd> 1.2480 - 1.2481 - <dt><strong>Windows specific:</strong></dt> 1.2482 - <dd> 1.2483 <dl> 1.2484 - <dt><a name="ALT_MSDEVTOOLS_PATH"><tt>ALT_MSDEVTOOLS_PATH</tt></a> </dt> 1.2485 + <dt><a name="path"><tt>PATH</tt></a> </dt> 1.2486 + <dd>Typically you want to set the <tt>PATH</tt> to include: 1.2487 + <ul> 1.2488 + <li>The location of the GNU make binary</li> 1.2489 + <li>The location of the Bootstrap JDK <tt>java</tt> 1.2490 + (see <a href="#bootjdk">Bootstrap JDK</a>)</li> 1.2491 + <li>The location of the C/C++ compilers 1.2492 + (see <a href="#compilers"><tt>compilers</tt></a>)</li> 1.2493 + <li>The location or locations for the Unix command utilities 1.2494 + (e.g. <tt>/usr/bin</tt>)</li> 1.2495 + </ul> 1.2496 + </dd> 1.2497 + <dt><tt>MILESTONE</tt> </dt> 1.2498 <dd> 1.2499 - The location of the Microsoft Visual Studio .NET 2003 1.2500 - tools 'bin' directory. 1.2501 - The default is usually derived from 1.2502 - <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>. 1.2503 + The milestone name for the build (<i>e.g.</i>"beta"). 1.2504 + The default value is "internal". 1.2505 </dd> 1.2506 - 1.2507 - <dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt> 1.2508 + <dt><tt>BUILD_NUMBER</tt> </dt> 1.2509 <dd> 1.2510 - The location of the 1.2511 - <a href="#dxsdk">Microsoft DirectX 9 SDK</a>. 1.2512 - The default will be to try and use the DirectX environment 1.2513 - variable <tt>DXSDK_DIR</tt>, 1.2514 - failing that, look in <tt>C:/DXSDK</tt>. 1.2515 + The build number for the build (<i>e.g.</i> "b27"). 1.2516 + The default value is "b00". 1.2517 </dd> 1.2518 - 1.2519 - <dt><tt><a name="ALT_MSVCRT_DLL_PATH">ALT_MSVCRT_DLL_PATH</a></tt> </dt> 1.2520 + <dt><a name="arch_data_model"><tt>ARCH_DATA_MODEL</tt></a></dt> 1.2521 + <dd>The <tt>ARCH_DATA_MODEL</tt> variable 1.2522 + is used to specify whether the build is to generate 32-bit or 64-bit 1.2523 + binaries. 1.2524 + The Solaris build supports either 32-bit or 64-bit builds, but 1.2525 + Windows and Linux will support only one, depending on the specific 1.2526 + OS being used. 1.2527 + Normally, setting this variable is only necessary on Solaris. 1.2528 + Set <tt>ARCH_DATA_MODEL</tt> to <tt>32</tt> for generating 32-bit binaries, 1.2529 + or to <tt>64</tt> for generating 64-bit binaries. 1.2530 + </dd> 1.2531 + <dt><a name="ALT_BOOTDIR"><tt>ALT_BOOTDIR</tt></a></dt> 1.2532 <dd> 1.2533 - The location of the 1.2534 - <a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>. 1.2535 + The location of the bootstrap JDK installation. 1.2536 + See <a href="#bootjdk">Bootstrap JDK</a> for more information. 1.2537 + You should always install your own local Bootstrap JDK and 1.2538 + always set <tt>ALT_BOOTDIR</tt> explicitly. 1.2539 </dd> 1.2540 - 1.2541 - <dt><tt><a name="ALT_MSVCR71_DLL_PATH">ALT_MSVCR71_DLL_PATH</a></tt> </dt> 1.2542 + <dt><a name="ALT_BINARY_PLUGS_PATH"><tt>ALT_BINARY_PLUGS_PATH</tt></a></dt> 1.2543 <dd> 1.2544 - <strong>i586 only:</strong> 1.2545 - The location of the 1.2546 - <a href="#msvcr71"><tt>MSVCR71.DLL</tt></a>. 1.2547 + The location of the binary plugs installation. 1.2548 + See <a href="#binaryplugs">Binary Plugs</a> for more information. 1.2549 + You should always have a local copy of a 1.2550 + recent Binary Plugs install image 1.2551 + and set this variable to that location. 1.2552 + </dd> 1.2553 + <dt><a name="ALT_JDK_IMPORT_PATH"><tt>ALT_JDK_IMPORT_PATH</tt></a></dt> 1.2554 + <dd> 1.2555 + The location of a previously built JDK installation. 1.2556 + See <a href="#importjdk">Optional Import JDK</a> for more information. 1.2557 + </dd> 1.2558 + <dt><a name="ALT_OUTPUTDIR"><tt>ALT_OUTPUTDIR</tt></a> </dt> 1.2559 + <dd> 1.2560 + An override for specifying the (absolute) path of where the 1.2561 + build output is to go. 1.2562 + The default output directory will be build/<i>platform</i>. 1.2563 + </dd> 1.2564 + <dt><a name="ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> </dt> 1.2565 + <dd> 1.2566 + The location of the C/C++ compiler. 1.2567 + The default varies depending on the platform. 1.2568 + </dd> 1.2569 + <dt><tt><a name="ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt></dt> 1.2570 + <dd> 1.2571 + The location of the <a href="#cacerts">cacerts</a> file. 1.2572 + The default will refer to 1.2573 + <tt>jdk/src/share/lib/security/cacerts</tt>. 1.2574 + </dd> 1.2575 + <dt><a name="ALT_CUPS_HEADERS_PATH"><tt>ALT_CUPS_HEADERS_PATH</tt></a> </dt> 1.2576 + <dd> 1.2577 + The location of the CUPS header files. 1.2578 + See <a href="#cups">CUPS information</a> for more information. 1.2579 + If this path does not exist the fallback path is 1.2580 + <tt>/usr/include</tt>. 1.2581 + </dd> 1.2582 + <dt><a name="ALT_FREETYPE_LIB_PATH"><tt>ALT_FREETYPE_LIB_PATH</tt></a></dt> 1.2583 + <dd> 1.2584 + The location of the FreeType shared library. 1.2585 + See <a href="#freetype">FreeType information</a> for details. 1.2586 + </dd> 1.2587 + <dt><a name="ALT_FREETYPE_HEADERS_PATH"><tt>ALT_FREETYPE_HEADERS_PATH</tt></a></dt> 1.2588 + <dd> 1.2589 + The location of the FreeType header files. 1.2590 + See <a href="#freetype">FreeType information</a> for details. 1.2591 + </dd> 1.2592 + <dt><a name="ALT_JDK_DEVTOOLS_PATH"><tt>ALT_JDK_DEVTOOLS_PATH</tt></a></dt> 1.2593 + <dd> 1.2594 + The default root location of the devtools. 1.2595 + The default value is 1.2596 + <tt>$(ALT_SLASH_JAVA)/devtools</tt>. 1.2597 + </dd> 1.2598 + <dt><tt><a name="ALT_DEVTOOLS_PATH">ALT_DEVTOOLS_PATH</a></tt> </dt> 1.2599 + <dd> 1.2600 + The location of tools like the 1.2601 + <a href="#zip"><tt>zip</tt> and <tt>unzip</tt></a> 1.2602 + binaries, but might also contain the GNU make utility 1.2603 + (<tt><i>gmake</i></tt>). 1.2604 + So this area is a bit of a grab bag, especially on Windows. 1.2605 + The default value depends on the platform and 1.2606 + Unix Commands being used. 1.2607 + On Linux the default will be 1.2608 + <tt>$(ALT_JDK_DEVTOOLS_PATH)/linux/bin</tt>, 1.2609 + on Solaris 1.2610 + <tt>$(ALT_JDK_DEVTOOLS_PATH)/<i>{sparc,i386}</i>/bin</tt>, 1.2611 + on Windows with MKS 1.2612 + <tt>%SYSTEMDRIVE%/UTILS</tt>, 1.2613 + and on Windows with CYGWIN 1.2614 + <tt>/usr/bin</tt>. 1.2615 + </dd> 1.2616 + <dt><a name="ALT_UNIXCOMMAND_PATH"><tt>ALT_UNIXCOMMAND_PATH</tt></a> </dt> 1.2617 + <dd> 1.2618 + An override for specifying where the 1.2619 + Unix command set are located. 1.2620 + The default location varies depending on the platform, 1.2621 + <tt>"%SYSTEMDRIVE%/MKSNT"</tt> or 1.2622 + <tt>$(ROOTDIR)</tt> on Windows with MKS, otherwise it's 1.2623 + <tt>"/bin"</tt> or <tt>/usr/bin</tt>. 1.2624 + </dd> 1.2625 + <dt><a name="ALT_UNIXCCS_PATH"><tt>ALT_UNIXCCS_PATH</tt></a></dt> 1.2626 + <dd> 1.2627 + <strong>Solaris only:</strong> 1.2628 + An override for specifying where the Unix CCS 1.2629 + command set are located. 1.2630 + The default location is <tt>/usr/ccs/bin</tt> 1.2631 + </dd> 1.2632 + <dt><a name="ALT_USRBIN_PATH"><tt>ALT_USRBIN_PATH</tt></a></dt> 1.2633 + <dd> 1.2634 + An override for specifying where the 1.2635 + Unix <tt>/usr/bin</tt> commands are located. You usually do not need 1.2636 + to set this variable: the default location is <tt>/usr/bin</tt>) 1.2637 + </dd> 1.2638 + <dt><a name="ALT_SLASHJAVA"><tt>ALT_SLASHJAVA</tt></a></dt> 1.2639 + <dd> 1.2640 + The default root location for many of the ALT path locations 1.2641 + of the following ALT variables. 1.2642 + The default value is 1.2643 + <tt>"/java"</tt> on Solaris and Linux, 1.2644 + <tt>"J:"</tt> on Windows. 1.2645 + </dd> 1.2646 + <dt><a name="ALT_BUILD_JDK_IMPORT_PATH"><tt>ALT_BUILD_JDK_IMPORT_PATH</tt></a></dt> 1.2647 + <dd> 1.2648 + These are useful in managing builds on multiple platforms. 1.2649 + The default network location for all of the import JDK images 1.2650 + for all platforms. 1.2651 + If <tt><a href="#ALT_JDK_IMPORT_PATH">ALT_JDK_IMPORT_PATH</a></tt> 1.2652 + is not set, this directory will be used and should contain 1.2653 + the following directories: 1.2654 + <tt>solaris-sparc</tt>, 1.2655 + <tt>solaris-i586</tt>, 1.2656 + <tt>solaris-sparcv9</tt>, 1.2657 + <tt>solaris-amd64</tt>, 1.2658 + <tt>linux-i586</tt>, 1.2659 + <tt>linux-amd64</tt>, 1.2660 + <tt>windows-i586</tt>, 1.2661 + and 1.2662 + <tt>windows-amd64</tt>. 1.2663 + Where each of these directories contain the import JDK image 1.2664 + for that platform. 1.2665 + </dd> 1.2666 + <dt><a name="ALT_BUILD_BINARY_PLUGS_PATH"><tt>ALT_BUILD_BINARY_PLUGS_PATH</tt></a></dt> 1.2667 + <dd> 1.2668 + These are useful in managing builds on multiple platforms. 1.2669 + The default network location for all of the binary plug images 1.2670 + for all platforms. 1.2671 + If <tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt> 1.2672 + is not set, this directory will be used and should contain 1.2673 + the following directories: 1.2674 + <tt>solaris-sparc</tt>, 1.2675 + <tt>solaris-i586</tt>, 1.2676 + <tt>solaris-sparcv9</tt>, 1.2677 + <tt>solaris-amd64</tt>, 1.2678 + <tt>linux-i586</tt>, 1.2679 + <tt>linux-amd64</tt>, 1.2680 + <tt>windows-i586</tt>, 1.2681 + and 1.2682 + <tt>windows-amd64</tt>. 1.2683 + Where each of these directories contain the binary plugs image 1.2684 + for that platform. 1.2685 + </dd> 1.2686 + <dt><strong>Windows specific:</strong></dt> 1.2687 + <dd> 1.2688 + <dl> 1.2689 + <dt><a name="ALT_MSDEVTOOLS_PATH"><tt>ALT_MSDEVTOOLS_PATH</tt></a> </dt> 1.2690 + <dd> 1.2691 + The location of the Microsoft Visual Studio .NET 2003 1.2692 + tools 'bin' directory. 1.2693 + The default is usually derived from 1.2694 + <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>. 1.2695 + </dd> 1.2696 + <dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt> 1.2697 + <dd> 1.2698 + The location of the 1.2699 + <a href="#dxsdk">Microsoft DirectX 9 SDK</a>. 1.2700 + The default will be to try and use the DirectX environment 1.2701 + variable <tt>DXSDK_DIR</tt>, 1.2702 + failing that, look in <tt>C:/DXSDK</tt>. 1.2703 + </dd> 1.2704 + <dt><tt><a name="ALT_MSVCRT_DLL_PATH">ALT_MSVCRT_DLL_PATH</a></tt> </dt> 1.2705 + <dd> 1.2706 + The location of the 1.2707 + <a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>. 1.2708 + </dd> 1.2709 + <dt><tt><a name="ALT_MSVCR71_DLL_PATH">ALT_MSVCR71_DLL_PATH</a></tt> </dt> 1.2710 + <dd> 1.2711 + <strong>i586 only:</strong> 1.2712 + The location of the 1.2713 + <a href="#msvcr71"><tt>MSVCR71.DLL</tt></a>. 1.2714 + </dd> 1.2715 + </dl> 1.2716 </dd> 1.2717 </dl> 1.2718 - </dd> 1.2719 - 1.2720 - </dl> 1.2721 -</blockquote> 1.2722 - 1.2723 -<!-- ------------------------------------------------------ --> 1.2724 -<hr noshade="noshade" size="3"> 1.2725 - 1.2726 -<h2><a name="troubleshooting">Troubleshooting</a></h2> 1.2727 - 1.2728 -<blockquote> 1.2729 - <p> 1.2730 - A build can fail for any number of reasons. 1.2731 - Most failures 1.2732 - are a result of trying to build in an environment in which all the 1.2733 - pre-build requirements have not been met. 1.2734 - The first step in 1.2735 - troubleshooting a build failure is to recheck that you have satisfied 1.2736 - all the pre-build requirements for your platform. 1.2737 - Look for the check list of the platform you are building on in the 1.2738 - <a href="#contents">Table of Contents</a>. 1.2739 - 1.2740 - <p> 1.2741 - You can validate your build environment by using the <tt>sanity</tt> 1.2742 - target. 1.2743 - Any errors listed 1.2744 - will stop the build from starting, and any warnings may result in 1.2745 - a flawed product build. 1.2746 - We strongly encourage you to evaluate every 1.2747 - sanity check warning and fix it if required, before you proceed 1.2748 - further with your build. 1.2749 - 1.2750 - <p> 1.2751 - Some of the more common problems with builds are briefly described 1.2752 - below, with suggestions for remedies. 1.2753 - 1.2754 - <ul> 1.2755 - <li> 1.2756 - <b>Slow Builds:</b> 1.2757 - <blockquote> 1.2758 - <p> 1.2759 - If your build machine seems to be overloaded from too many 1.2760 - simultaneous C++ compiles, try setting the <tt>HOTSPOT_BUILD_JOBS</tt> 1.2761 - variable to <tt>1</tt> (if you're using a multiple CPU 1.2762 - machine, setting it to more than the the number of CPUs is probably 1.2763 - not a good idea). 1.2764 - <p> 1.2765 - Creating the javadocs can be very slow, if you are running 1.2766 - javadoc, consider skipping that step. 1.2767 - <p> 1.2768 - Faster hardware and more RAM always helps too. 1.2769 - The VM build tends to be CPU intensive (many C++ compiles), 1.2770 - and the rest of the JDK will often be disk intensive. 1.2771 - <p> 1.2772 - Faster compiles are possible using a tool called 1.2773 - <a href="http://ccache.samba.org/">ccache</a>. 1.2774 - </blockquote> 1.2775 - </li> 1.2776 - <li> 1.2777 - <b>File time issues:</b> 1.2778 - <blockquote> 1.2779 - <p> 1.2780 - If you see warnings that refer to file time stamps, e.g. 1.2781 - <blockquote> 1.2782 - <i>Warning message:</i><tt> File `xxx' has modification time in 1.2783 - the future.</tt> 1.2784 - <br> 1.2785 - <i>Warning message:</i> <tt> Clock skew detected. Your build may 1.2786 - be incomplete.</tt> 1.2787 - </blockquote> 1.2788 - <p> 1.2789 - These warnings can occur when the clock on the build machine is out of 1.2790 - sync with the timestamps on the source files. Other errors, apparently 1.2791 - unrelated but in fact caused by the clock skew, can occur along with 1.2792 - the clock skew warnings. These secondary errors may tend to obscure the 1.2793 - fact that the true root cause of the problem is an out-of-sync clock. 1.2794 - For example, an out-of-sync clock has been known to cause an old 1.2795 - version of javac to be used to compile some files, resulting in errors 1.2796 - when the pre-1.4 compiler ran across the new <tt>assert</tt> keyword 1.2797 - in the 1.4 source code. 1.2798 - <p> 1.2799 - If you see these warnings, reset the clock on the build 1.2800 - machine, run "<tt><i>gmake</i> clobber</tt>" or delete the directory 1.2801 - containing the build output, and restart the build from the beginning. 1.2802 - </blockquote> 1.2803 - </li> 1.2804 - <li> 1.2805 - <b>Error message: <tt>Trouble writing out table to disk</tt></b> 1.2806 - <blockquote> 1.2807 - <p> 1.2808 - Increase the amount of swap space on your build machine. 1.2809 - </blockquote> 1.2810 - </li> 1.2811 - <li> 1.2812 - <b>Error Message: <tt>libstdc++ not found:</tt></b> 1.2813 - <blockquote> 1.2814 - This is caused by a missing libstdc++.a library. 1.2815 - This is installed as part of a specific package 1.2816 - (e.g. libstdc++.so.devel.386). 1.2817 - By default some 64bit Linux versions (e.g. Fedora) 1.2818 - only install the 64bit version of the libstdc++ package. 1.2819 - Various parts of the JDK build require a static 1.2820 - link of the C++ runtime libraries to allow for maximum 1.2821 - portability of the built images. 1.2822 - </blockquote> 1.2823 - </li> 1.2824 - <li> 1.2825 - <b>Error Message: <tt>cannot restore segment prot after reloc</tt></b> 1.2826 - <blockquote> 1.2827 - This is probably an issue with SELinux (See 1.2828 - <a href="http://en.wikipedia.org/wiki/SELinux">http://en.wikipedia.org/wiki/SELinux</a>). 1.2829 - Parts of the VM is built without the <tt>-fPIC</tt> for 1.2830 - performance reasons. 1.2831 - <p> 1.2832 - To completely disable SELinux: 1.2833 - <ol><tt> 1.2834 - 1.2835 - <li>$ su root</li> 1.2836 - <li># system-config-securitylevel</li> 1.2837 - <li>In the window that appears, select the SELinux tab</li> 1.2838 - <li>Disable SELinux</li> 1.2839 - </ol></tt> 1.2840 - <p> 1.2841 - Alternatively, instead of completely disabling it you could 1.2842 - disable just this one check. 1.2843 - <ol><tt> 1.2844 - <li>Select System->Administration->SELinux Management</li> 1.2845 - <li>In the SELinux Management Tool which appears, 1.2846 - select "Boolean" from the menu on the left</li> 1.2847 - <li>Expand the "Memory Protection" group</li> 1.2848 - <li>Check the first item, labeled 1.2849 - "Allow all unconfined executables to use libraries requiring text relocation ..."</li> 1.2850 - </ol></tt> 1.2851 - </blockquote> 1.2852 - </li> 1.2853 - </ul> 1.2854 -</blockquote> 1.2855 - 1.2856 -<hr noshade="noshade" size="3"> 1.2857 + </blockquote> 1.2858 + <!-- ------------------------------------------------------ --> 1.2859 + <hr> 1.2860 + <h2><a name="troubleshooting">Troubleshooting</a></h2> 1.2861 + <blockquote> 1.2862 + A build can fail for any number of reasons. 1.2863 + Most failures 1.2864 + are a result of trying to build in an environment in which all the 1.2865 + pre-build requirements have not been met. 1.2866 + The first step in 1.2867 + troubleshooting a build failure is to recheck that you have satisfied 1.2868 + all the pre-build requirements for your platform. 1.2869 + Look for the check list of the platform you are building on in the 1.2870 + <a href="#contents">Table of Contents</a>. 1.2871 + <p> 1.2872 + You can validate your build environment by using the <tt>sanity</tt> 1.2873 + target. 1.2874 + Any errors listed 1.2875 + will stop the build from starting, and any warnings may result in 1.2876 + a flawed product build. 1.2877 + We strongly encourage you to evaluate every 1.2878 + sanity check warning and fix it if required, before you proceed 1.2879 + further with your build. 1.2880 + <p> 1.2881 + Some of the more common problems with builds are briefly described 1.2882 + below, with suggestions for remedies. 1.2883 + <ul> 1.2884 + <li> 1.2885 + <b>Slow Builds:</b> 1.2886 + <blockquote> 1.2887 + If your build machine seems to be overloaded from too many 1.2888 + simultaneous C++ compiles, try setting the <tt>HOTSPOT_BUILD_JOBS</tt> 1.2889 + variable to <tt>1</tt> (if you're using a multiple CPU 1.2890 + machine, setting it to more than the the number of CPUs is probably 1.2891 + not a good idea). 1.2892 + <p> 1.2893 + Creating the javadocs can be very slow, if you are running 1.2894 + javadoc, consider skipping that step. 1.2895 + <p> 1.2896 + Faster hardware and more RAM always helps too. 1.2897 + The VM build tends to be CPU intensive (many C++ compiles), 1.2898 + and the rest of the JDK will often be disk intensive. 1.2899 + <p> 1.2900 + Faster compiles are possible using a tool called 1.2901 + <a href="http://ccache.samba.org/" target="_blank">ccache</a>. 1.2902 + </blockquote> 1.2903 + </li> 1.2904 + <li> 1.2905 + <b>File time issues:</b> 1.2906 + <blockquote> 1.2907 + If you see warnings that refer to file time stamps, e.g. 1.2908 + <blockquote> 1.2909 + <i>Warning message:</i><tt> File `xxx' has modification time in 1.2910 + the future.</tt> 1.2911 + <br> 1.2912 + <i>Warning message:</i> <tt> Clock skew detected. Your build may 1.2913 + be incomplete.</tt> 1.2914 + </blockquote> 1.2915 + These warnings can occur when the clock on the build machine is out of 1.2916 + sync with the timestamps on the source files. Other errors, apparently 1.2917 + unrelated but in fact caused by the clock skew, can occur along with 1.2918 + the clock skew warnings. These secondary errors may tend to obscure the 1.2919 + fact that the true root cause of the problem is an out-of-sync clock. 1.2920 + For example, an out-of-sync clock has been known to cause an old 1.2921 + version of javac to be used to compile some files, resulting in errors 1.2922 + when the pre-1.4 compiler ran across the new <tt>assert</tt> keyword 1.2923 + in the 1.4 source code. 1.2924 + <p> 1.2925 + If you see these warnings, reset the clock on the build 1.2926 + machine, run "<tt><i>gmake</i> clobber</tt>" or delete the directory 1.2927 + containing the build output, and restart the build from the beginning. 1.2928 + </blockquote> 1.2929 + </li> 1.2930 + <li> 1.2931 + <b>Error message: <tt>Trouble writing out table to disk</tt></b> 1.2932 + <blockquote> 1.2933 + Increase the amount of swap space on your build machine. 1.2934 + </blockquote> 1.2935 + </li> 1.2936 + <li> 1.2937 + <b>Error Message: <tt>libstdc++ not found:</tt></b> 1.2938 + <blockquote> 1.2939 + This is caused by a missing libstdc++.a library. 1.2940 + This is installed as part of a specific package 1.2941 + (e.g. libstdc++.so.devel.386). 1.2942 + By default some 64bit Linux versions (e.g. Fedora) 1.2943 + only install the 64bit version of the libstdc++ package. 1.2944 + Various parts of the JDK build require a static 1.2945 + link of the C++ runtime libraries to allow for maximum 1.2946 + portability of the built images. 1.2947 + </blockquote> 1.2948 + </li> 1.2949 + <li> 1.2950 + <b>Error Message: <tt>cannot restore segment prot after reloc</tt></b> 1.2951 + <blockquote> 1.2952 + This is probably an issue with SELinux (See 1.2953 + <a href="http://en.wikipedia.org/wiki/SELinux" target="_blank"> 1.2954 + http://en.wikipedia.org/wiki/SELinux</a>). 1.2955 + Parts of the VM is built without the <tt>-fPIC</tt> for 1.2956 + performance reasons. 1.2957 + <p> 1.2958 + To completely disable SELinux: 1.2959 + <tt> 1.2960 + <ol> 1.2961 + <li>$ su root</li> 1.2962 + <li># system-config-securitylevel</li> 1.2963 + <li>In the window that appears, select the SELinux tab</li> 1.2964 + <li>Disable SELinux</li> 1.2965 + </ol> 1.2966 + </tt> 1.2967 + <p> 1.2968 + Alternatively, instead of completely disabling it you could 1.2969 + disable just this one check. 1.2970 + <tt> 1.2971 + <ol> 1.2972 + <li>Select System->Administration->SELinux Management</li> 1.2973 + <li>In the SELinux Management Tool which appears, 1.2974 + select "Boolean" from the menu on the left</li> 1.2975 + <li>Expand the "Memory Protection" group</li> 1.2976 + <li>Check the first item, labeled 1.2977 + "Allow all unconfined executables to use libraries requiring text relocation ..."</li> 1.2978 + </ol> 1.2979 + </tt> 1.2980 + </blockquote> 1.2981 + </li> 1.2982 + <li> 1.2983 + <b>Windows Error Message: <tt>*** fatal error - couldn't allocate heap, ... </tt></b> 1.2984 + <blockquote> 1.2985 + The CYGWIN software can conflict with other non-CYGWIN 1.2986 + software. See the CYGWIN FAQ section on 1.2987 + <a href="http://cygwin.com/faq/faq.using.html#faq.using.bloda" target="_blank"> 1.2988 + BLODA (applications that interfere with CYGWIN)</a>. 1.2989 + </blockquote> 1.2990 + </li> 1.2991 + <li> 1.2992 + <b>Windows Error Message: <tt>*** multiple target patterns. Stop.</tt></b> 1.2993 + <blockquote> 1.2994 + The CYGWIN make version 3.81 may not like the Windows <tt>C:/</tt> 1.2995 + style paths, it may not like the ':' character in the path 1.2996 + when used in a makefile target definition. 1.2997 + See the <a href="#gmake"><tt><i>gmake</i></tt></a> section. 1.2998 + </blockquote> 1.2999 + </li> 1.3000 + </ul> 1.3001 + </blockquote> 1.3002 + <hr> 1.3003 + </body> 1.3004 +</html>