Changeset 309 for trunk/openjdk/README-builds.html
- Timestamp:
- Feb 13, 2012, 10:07:12 PM (14 years ago)
- Location:
- trunk/openjdk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/openjdk
- Property svn:mergeinfo changed
/branches/vendor/oracle/openjdk6/b24 (added) merged: 308 /branches/vendor/oracle/openjdk6/current merged: 307
- Property svn:mergeinfo changed
-
trunk/openjdk/README-builds.html
r278 r309 30 30 <blockquote> 31 31 <p> 32 This README file contains build instructions for the33 <a href="http://openjdk.java.net" target="_blank">OpenJDK</a>.34 Building the source code for the35 OpenJDK36 requires37 a certain degree of technical expertise.38 <!-- OpenJDK 6 Specific -->32 This README file contains build instructions for the 33 <a href="http://openjdk.java.net" target="_blank">OpenJDK</a>. 34 Building the source code for the 35 OpenJDK 36 requires 37 a certain degree of technical expertise. 38 <!-- OpenJDK 6 Specific --> 39 39 <blockquote style="background-color:white"> 40 40 This document is specific to OpenJDK 6, which has some … … 52 52 <ul> 53 53 <li><a href="#introduction">Introduction</a></li> 54 <li><a href="#hg">Use of Mercurial</a> 55 <ul> 56 <li><a href="#get_source">Getting the Source</a></li> 57 </ul> 58 </li> 54 59 <li><a href="#MBE">Minimum Build Environments</a></li> 55 60 <li><a href="#SDBE">Specific Developer Build Environments</a> 56 61 <ul> 57 <li><a href="#fedora">Fedora</a></li> 58 <li><a href="#debian">Debian</a></li> 59 <li><a href="#ubuntu">Ubuntu</a></li> 60 <li><a href="#opensuse">OpenSUSE</a></li> 61 <li><a href="#mandriva">Mandriva</a></li> 62 <li><a href="#opensolaris">OpenSolaris</a></li> 63 </ul> 64 </li> 65 <li><a href="#directories">Source Directory Structure</a> </li> 62 <li><a href="#fedora">Fedora</a></li> 63 <li><a href="#debian">Debian</a></li> 64 <li><a href="#ubuntu">Ubuntu</a></li> 65 <li><a href="#opensuse">OpenSUSE</a></li> 66 <li><a href="#mandriva">Mandriva</a></li> 67 <li><a href="#opensolaris">OpenSolaris</a></li> 68 </ul> 69 </li> 70 <li><a href="#directories">Source Directory Structure</a> 71 <ul> 72 <li><a href="#drops">Managing the Source Drops</a></li> 73 </ul> 74 </li> 66 75 <li><a href="#building">Build Information</a> 67 76 <ul> … … 70 79 <li><a href="#solaris">Basic Solaris System Setup</a> </li> 71 80 <li><a href="#windows">Basic Windows System Setup</a> </li> 72 <li><a href="#dependencies">Build Dependencies</a> </li> 73 <ul> 74 <li><a href="#bootjdk">Bootstrap JDK</a> </li> 75 <li><a href="#importjdk">Optional Import JDK</a> </li> 76 <li><a href="#ant">Ant</a> </li> 77 <li><a href="#cacerts">Certificate Authority File (cacert)</a> </li> 78 <li><a href="#compilers">Compilers</a> 79 <ul> 80 <li><a href="#msvc">Microsoft Visual Studio</a> </li> 81 <li><a href="#mssdk">Microsoft Platform SDK</a> </li> 82 <li><a href="#gcc">Linux gcc/binutils</a> </li> 83 <li><a href="#studio">Sun Studio</a> </li> 84 </ul> 85 </li> 86 <li><a href="#zip">Zip and Unzip</a> </li> 87 <li><a href="#freetype">FreeType2 Fonts</a> </li> 88 <li>Linux and Solaris: 89 <ul> 90 <!-- OpenJDK 6 Specific --> 91 <li style="background-color:white"><a href="#motif">Motif</a> </li> 92 <li><a href="#cups">CUPS Include files</a> </li> 93 </ul> 94 </li> 95 <li>Linux only: 96 <ul> 97 <li><a href="#alsa">ALSA files</a> </li> 98 </ul> 99 </li> 100 <li>Windows only: 101 <ul> 102 <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>)</li> 103 <li><a href="#dxsdk">DirectX 9.0 SDK</a> </li> 104 </ul> 105 </li> 106 </ul> 81 <li><a href="#dependencies">Build Dependencies</a> 82 <ul> 83 <li><a href="#bootjdk">Bootstrap JDK</a> </li> 84 <li><a href="#importjdk">Optional Import JDK</a> </li> 85 <li><a href="#ant">Ant 1.7.1</a> </li> 86 <li><a href="#cacerts">Certificate Authority File (cacert)</a> </li> 87 <li><a href="#compilers">Compilers</a> 88 <ul> 89 <li><a href="#msvc">Microsoft Visual Studio</a> </li> 90 <li><a href="#mssdk">Microsoft Platform SDK</a> </li> 91 <li><a href="#gcc">Linux gcc/binutils</a> </li> 92 <li><a href="#studio">Sun Studio</a> </li> 93 </ul> 94 </li> 95 <li><a href="#zip">Zip and Unzip</a> </li> 96 <li><a href="#freetype">FreeType2 Fonts</a> </li> 97 <li>Linux and Solaris: 98 <ul> 99 <!-- OpenJDK 6 Specific --> 100 <li style="background-color:white"><a href="#motif">Motif</a> </li> 101 <li><a href="#cups">CUPS Include files</a> </li> 102 </ul> 103 </li> 104 <li>Linux only: 105 <ul> 106 <li><a href="#alsa">ALSA files</a> </li> 107 </ul> 108 </li> 109 <li>Windows only: 110 <ul> 111 <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>)</li> 112 <li><a href="#dxsdk">DirectX 9.0 SDK</a> </li> 113 </ul> 114 </li> 115 </ul> 116 </li> 107 117 </ul> 108 118 </li> … … 113 123 </ul> 114 124 </blockquote> 125 126 <!-- ------------------------------------------------------ --> 127 <hr> 128 <h2><a name="hg">Use of Mercurial</a></h2> 129 <blockquote> 130 The OpenJDK sources are maintained with the revision control system 131 <a href="http://mercurial.selenic.com/wiki/Mercurial">Mercurial</a>. 132 If you are new to Mercurial, please see the 133 <a href="http://mercurial.selenic.com/wiki/BeginnersGuides">Beginner Guides</a> 134 or refer to the <a href="http://hgbook.red-bean.com/">Mercurial Book</a>. 135 The first few chapters of the book provide an excellent overview of 136 Mercurial, what it is and how it works. 137 <br> 138 For using Mercurial with the OpenJDK refer to the 139 <a href="http://openjdk.java.net/guide/repositories.html#installConfig"> 140 Developer Guide: Installing and Configuring Mercurial</a> 141 section for more information. 142 The Forest Extension is not part of the Mercurial install, 143 and is optional, 144 but can be obtained with the following commands: 145 <blockquote> 146 <tt> 147 hg clone https://bitbucket.org/pmezard/hgforest-crew/overview/ <i>YourHgForest</i> 148 </tt> 149 </blockquote> 150 Once you have the file <tt>forest.py</tt>, you need to add these 151 lines to your <tt>${HOME}/.hgrc</tt> file: 152 <blockquote> 153 <tt> 154 [extensions] 155 <br>forest = <i>YourHgForest</i>/forest.py 156 </tt> 157 </blockquote> 158 159 <!-- ------------------------------------------------------ --> 160 <h3><a name="get_source">Getting the Source</a></h3> 161 <blockquote> 162 To get the entire set of OpenJDK Mercurial repositories 163 using the Forest Extension: 164 <blockquote> 165 <tt> 166 hg fclone http://hg.openjdk.java.net/jdk6/jdk6 <i>YourOpenJDK</i> 167 </tt> 168 </blockquote> 169 To get the entire set of OpenJDK Mercurial repositories 170 without using the Forest Extension: 171 <blockquote> 172 <tt> 173 hg clone http://hg.openjdk.java.net/jdk6/jdk6 <i>YourOpenJDK</i> 174 <br>cd <i>YourOpenJDK</i> 175 <br>sh ./get_source.sh 176 </tt> 177 </blockquote> 178 Once you have all the repositories, the 179 script <tt>make/scripts/hgforest.sh</tt> 180 can be used to repeat the same <tt>hg</tt> 181 command on every repository in the forest, e.g. 182 <blockquote> 183 <tt> 184 cd <i>YourOpenJDK</i> 185 <br>sh ./make/scripts/hgforest.sh pull -u 186 </tt> 187 </blockquote> 188 You may find this script <tt>make/scripts/hgforest.sh</tt> faster 189 than the <tt>hg</tt> forest commands provided by the 190 Forest Extension. 191 </blockquote> 192 193 </blockquote> 194 115 195 <!-- ------------------------------------------------------ --> 116 196 <hr> … … 129 209 may be difficult due to the age of some of this software. 130 210 <p> 131 The minimum OS and C/C++ compiler versions needed for building the132 OpenJDK:211 The minimum OS and C/C++ compiler versions needed for building the 212 OpenJDK6: 133 213 <p> 134 214 <table border="1"> … … 138 218 <th>OS</th> 139 219 <th>C/C++ Compiler</th> 220 <th>BOOT JDK</th> 140 221 </tr> 141 222 </thead> … … 145 226 <td>Fedora 9</td> 146 227 <td>gcc 4 </td> 228 <td>JDK 6u18</td> 147 229 </tr> 148 230 <tr> … … 150 232 <td>Fedora 9</td> 151 233 <td>gcc 4 </td> 234 <td>JDK 6u18</td> 152 235 </tr> 153 236 <tr> 154 <td>Solaris SPARC (32bit)</td> 155 <!-- OpenJDK 6 Specific --> 156 <td>Solaris 8 + patches 157 <br> 158 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 159 SunSolve</a> for patch downloads. 160 </td> 161 <td>Sun Studio 11 </td> 237 <td>Solaris SPARC (32-bit)</td> 238 <td>Solaris 10 Update 6</td> 239 <td>Sun Studio 11</td> 240 <td>JDK 6u18</td> 162 241 </tr> 163 242 <tr> 164 <td>Solaris SPARCV9 (64bit)</td> 165 <!-- OpenJDK 6 Specific --> 166 <td>Solaris 8 + patches 167 <br> 168 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 169 SunSolve</a> for patch downloads. 170 </td> 243 <td>Solaris SPARCV9 (64-bit)</td> 244 <td>Solaris 10 Update 6</td> 171 245 <td>Sun Studio 11</td> 246 <td>JDK 6u18</td> 172 247 </tr> 173 248 <tr> 174 <td>Solaris X86 (32bit)</td> 175 <!-- OpenJDK 6 Specific --> 176 <td>Solaris 8 + patches 177 <br> 178 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 179 SunSolve</a> for patch downloads. 180 </td> 249 <td>Solaris X86 (32-bit)</td> 250 <td>Solaris 10 Update 6</td> 181 251 <td>Sun Studio 11</td> 252 <td>JDK 6u18</td> 182 253 </tr> 183 254 <tr> 184 <td>Solaris X64 (64bit)</td> 185 <td>Solaris 10 + patches 186 <br> 187 See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE" target="_blank"> 188 SunSolve</a> for patch downloads. 189 </td> 255 <td>Solaris X64 (64-bit)</td> 256 <td>Solaris 10 Update 6</td> 190 257 <td>Sun Studio 11</td> 258 <td>JDK 6u18</td> 191 259 </tr> 192 260 <tr> … … 195 263 <td>Windows 2000</td> 196 264 <td>Microsoft Visual Studio .NET 2003 Professional</td> 265 <td>JDK 6u18</td> 197 266 </tr> 198 267 <tr> … … 200 269 <td>Windows Server 2003 - Enterprise x64 Edition</td> 201 270 <td>Microsoft Platform SDK - April 2005</td> 271 <td>JDK 6u18</td> 202 272 </tr> 203 273 </tbody> 204 274 </table> 205 275 <p> 206 276 These same sources do indeed build on many more systems than the 207 277 above older generation systems, again the above is just a minimum. 208 278 <p> 209 279 Compilation problems with newer or different C/C++ compilers is a 210 280 common problem. 211 281 Similarly, compilation problems related to changes to the 212 282 <tt>/usr/include</tt> or system header files is also a 213 283 common problem with newer or unreleased OS versions. 214 284 Please report these types of problems as bugs so that they … … 225 295 <h3><a name="fedora">Fedora</a></h3> 226 296 <blockquote> 227 228 229 230 After installing <a href="http://fedoraproject.org">Fedora</a> 9297 <h4>Fedora 9</h4> 298 <p> 299 <blockquote> 300 After installing <a href="http://fedoraproject.org">Fedora</a> 9 231 301 you need to install several build dependencies. The simplest 232 302 way to do it is to execute the following commands as user 233 234 235 236 237 238 303 <tt>root</tt>: 304 <p/> 305 <code>yum-builddep java-1.6.0-openjdk</code> 306 <p/> 307 <code>yum install gcc gcc-c++</code> 308 <p/> 239 309 In addition, it's necessary to set a few environment variables for the build: 240 310 241 242 243 </blockquote> 244 245 246 247 After installing <a href="http://fedoraproject.org">Fedora</a> 10311 <p/> 312 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code> 313 </blockquote> 314 <h4>Fedora 10</h4> 315 <p> 316 <blockquote> 317 After installing <a href="http://fedoraproject.org">Fedora</a> 10 248 318 you need to install several build dependencies. The simplest 249 319 way to do it is to execute the following commands as user 250 251 252 253 254 255 320 <tt>root</tt>: 321 <p/> 322 <code>yum-builddep java-1.6.0-openjdk</code> 323 <p/> 324 <code>yum install gcc gcc-c++</code> 325 <p/> 256 326 In addition, it's necessary to set a few environment variables for the build: 257 327 258 259 260 </blockquote> 261 262 263 264 After installing <a href="http://fedoraproject.org">Fedora</a> 11328 <p/> 329 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code> 330 </blockquote> 331 <h4>Fedora 11</h4> 332 <p> 333 <blockquote> 334 After installing <a href="http://fedoraproject.org">Fedora</a> 11 265 335 you need to install several build dependencies. The simplest 266 336 way to do it is to execute the following commands as user 267 268 269 270 271 272 337 <tt>root</tt>: 338 <p/> 339 <code>yum-builddep java-1.6.0-openjdk</code> 340 <p/> 341 <code>yum install gcc gcc-c++</code> 342 <p/> 273 343 In addition, it's necessary to set a few environment variables for the build: 274 344 275 276 277 </blockquote> 278 345 <p/> 346 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-openjdk</code> 347 </blockquote> 348 </blockquote> 279 349 <!-- ====================================================== --> 280 350 <h3><a name="debian">Debian</a></h3> … … 282 352 <h4>Debian 5.0 (Lenny)</h4> 283 353 <p> 284 354 <blockquote> 285 355 After installing <a href="http://debian.org">Debian</a> 5 286 356 you need to install several build dependencies. 287 357 The simplest way to install the build dependencies is to 288 358 execute the following commands as user <tt>root</tt>: 289 290 291 292 359 <p/> 360 <code>aptitude build-dep openjdk-6</code> 361 <p/> 362 <code>aptitude install openjdk-6-jdk</code> 293 363 <p/> 294 364 <!-- OpenJDK 6 Specific --> 295 365 <code style="background-color:white">aptitude install libmotif-dev</code> 296 366 <p/> 297 367 In addition, it's necessary to set a few environment variables for the build: 298 299 300 368 <p/> 369 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code> 370 </blockquote> 301 371 </blockquote> 302 372 <!-- ====================================================== --> … … 305 375 <h4>Ubuntu 8.04</h4> 306 376 <p> 307 377 <blockquote> 308 378 After installing <a href="http://ubuntu.org">Ubuntu</a> 8.04 309 379 you need to install several build dependencies. 310 380 <p/> 311 381 First, you need to enable the universe repository in the 312 382 Software Sources application and reload the repository 313 383 information. The Software Sources application is available 314 384 under the System/Administration menu. 315 385 <p/> 316 386 The simplest way to install the build dependencies is to 317 387 execute the following commands: 318 319 320 321 388 <p/> 389 <code>sudo aptitude build-dep openjdk-6</code> 390 <p/> 391 <code>sudo aptitude install openjdk-6-jdk</code> 322 392 <p/> 323 393 <!-- OpenJDK 6 Specific --> 324 394 <code style="background-color:white">sudo aptitude install libmotif-dev</code> 325 395 <p/> 326 396 In addition, it's necessary to set a few environment variables for the build: 327 328 329 397 <p/> 398 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code> 399 </blockquote> 330 400 <h4>Ubuntu 8.10</h4> 331 401 <p> 332 402 <blockquote> 333 403 After installing <a href="http://ubuntu.org">Ubuntu</a> 8.10 334 404 you need to install several build dependencies. The simplest 335 405 way to do it is to execute the following commands: 336 337 338 339 406 <p/> 407 <code>sudo aptitude build-dep openjdk-6</code> 408 <p/> 409 <code>sudo aptitude install openjdk-6-jdk gcc-4.2 g++-4.2</code> 340 410 <p/> 341 411 <!-- OpenJDK 6 Specific --> 342 412 <code style="background-color:white">sudo aptitude install libmotif-dev</code> 343 413 <p/> 344 414 In addition, it's necessary to set a few environment variables for the build: 345 346 347 415 <p/> 416 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code> 417 <p/> 348 418 Then, calling <tt>make</tt> in the top level OpenJDK source 349 419 code directory with the following parameters results in a 350 420 working build: 351 352 353 421 <p/> 422 <code>make all CC=gcc-4.2 CPP=g++-4.2</code> 423 </blockquote> 354 424 <h4>Ubuntu 9.04</h4> 355 425 <p> 356 426 <blockquote> 357 427 After installing <a href="http://ubuntu.org">Ubuntu</a> 9.04 358 428 you need to install several build dependencies. The simplest 359 429 way to do it is to execute the following commands: 360 361 362 363 430 <p/> 431 <code>sudo aptitude build-dep openjdk-6</code> 432 <p/> 433 <code>sudo aptitude install openjdk-6-jdk gcc-4.2 g++-4.2</code> 364 434 <p/> 365 435 <!-- OpenJDK 6 Specific --> 366 436 <code style="background-color:white">sudo aptitude install libmotif-dev</code> 367 437 <p/> 368 438 In addition, it's necessary to set a few environment variables for the build: 369 370 371 439 <p/> 440 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk</code> 441 <p/> 372 442 Then, calling <tt>make</tt> in the top level OpenJDK source 373 443 code directory with the following parameters results in a 374 444 working build: 375 376 377 445 <p/> 446 <code>make all CC=gcc-4.2 CPP=g++-4.2</code> 447 </blockquote> 378 448 </blockquote> 379 449 <!-- ====================================================== --> … … 382 452 <h4>OpenSUSE 11.1</h4> 383 453 <p> 384 454 <blockquote> 385 455 After installing <a href="http://opensuse.org">OpenSUSE</a> 11.1 386 456 you need to install several build dependencies. 387 457 The simplest way to install the build dependencies is to 388 458 execute the following commands: 389 390 391 392 393 459 <p/> 460 <code>sudo zypper source-install -d java-1_6_0-openjdk</code> 461 <p/> 462 <code>sudo zypper install make</code> 463 <p/> 394 464 In addition, it is necessary to set a few environment variables for the build: 395 396 397 465 <p/> 466 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk</code> 467 <p/> 398 468 Finally, you need to unset the <code>JAVA_HOME</code> environment variable: 399 400 401 402 469 <p/> 470 <code>export -n JAVA_HOME</code> 471 </blockquote> 472 </blockquote> 403 473 <!-- ====================================================== --> 404 474 <h3><a name="mandriva">Mandriva</a></h3> … … 406 476 <h4>Mandriva Linux One 2009 Spring</h4> 407 477 <p> 408 478 <blockquote> 409 479 After installing <a href="http://mandriva.org">Mandriva</a> Linux One 2009 Spring 410 480 you need to install several build dependencies. 411 481 The simplest way to install the build dependencies is to 412 482 execute the following commands as user <tt>root</tt>: 413 414 483 <p/> 484 <code>urpmi java-1.6.0-openjdk-devel ant make gcc gcc-c++ freetype-devel zip unzip libcups2-devel libxrender1-devel libalsa2-devel libstc++-static-devel libxtst6-devel libxi-devel</code> 415 485 <p/> 416 486 <!-- OpenJDK 6 Specific --> 417 487 <code style="background-color:white">urpmi libopenmotif-devel</code> 418 488 <p/> 419 489 In addition, it is necessary to set a few environment variables for the build: 420 421 422 490 <p/> 491 <code>export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-1.6.0-openjdk</code> 492 </blockquote> 423 493 </blockquote> 424 494 <!-- ====================================================== --> … … 427 497 <h4>OpenSolaris 2009.06</h4> 428 498 <p> 429 499 <blockquote> 430 500 After installing <a href="http://opensolaris.org">OpenSolaris</a> 2009.06 431 501 you need to install several build dependencies. 432 502 The simplest way to install the build dependencies is to 433 503 execute the following commands: 434 435 504 <p/> 505 <code>pfexec pkg install SUNWgmake SUNWj6dev SUNWant sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl SUNWxorg-headers SUNWaudh SUNWfreetype2</code> 436 506 <p/> 437 507 <!-- OpenJDK 6 Specific --> 438 508 <code style="background-color:white">pfexec pkg install SUNWmfrun</code> 439 509 <p/> 440 510 In addition, it is necessary to set a few environment variables for the build: 441 442 443 511 <p/> 512 <code>export LANG=C ALT_COMPILER_PATH=/opt/SunStudioExpress/bin/ ALT_CUPS_HEADERS_PATH=/usr/include/</code> 513 <p/> 444 514 Finally, you need to make sure that the build process can find the Sun Studio compilers: 445 446 447 515 <p/> 516 <code>export PATH=$PATH:/opt/SunStudioExpress/bin/</code> 517 </blockquote> 448 518 </blockquote> 449 519 <!-- ------------------------------------------------------ --> … … 452 522 <blockquote> 453 523 <p> 454 The source code for the OpenJDK is delivered in a set of 455 directories: 456 <tt>hotspot</tt>, 457 <tt>langtools</tt>, 458 <tt>corba</tt>, 459 <tt>jaxws</tt>, 460 <tt>jaxp</tt>, 461 and 462 <tt>jdk</tt>. 463 The <tt>hotspot</tt> directory contains the source code and make 464 files for building the OpenJDK Hotspot Virtual Machine. 465 The <tt>langtools</tt> directory contains the source code and make 466 files for building the OpenJDK javac and language tools. 467 The <tt>corba</tt> directory contains the source code and make 468 files for building the OpenJDK Corba files. 469 The <tt>jaxws</tt> directory contains the source code and make 470 files for building the OpenJDK JAXWS files. 471 The <tt>jaxp</tt> directory contains the source code and make 472 files for building the OpenJDK JAXP files. 473 The <tt>jdk</tt> directory contains the source code and make files for 474 building the OpenJDK runtime libraries and misc files. 475 The top level <tt>Makefile</tt> 476 is used to build the entire OpenJDK. 524 The source code for the OpenJDK is delivered in a set of 525 directories: 526 <tt>hotspot</tt>, 527 <tt>langtools</tt>, 528 <tt>corba</tt>, 529 <tt>jaxws</tt>, 530 <tt>jaxp</tt>, 531 and 532 <tt>jdk</tt>. 533 The <tt>hotspot</tt> directory contains the source code and make 534 files for building the OpenJDK Hotspot Virtual Machine. 535 The <tt>langtools</tt> directory contains the source code and make 536 files for building the OpenJDK javac and language tools. 537 The <tt>corba</tt> directory contains the source code and make 538 files for building the OpenJDK Corba files. 539 The <tt>jaxws</tt> directory contains the source code and make 540 files for building the OpenJDK JAXWS files. 541 The <tt>jaxp</tt> directory contains the source code and make 542 files for building the OpenJDK JAXP files. 543 The <tt>jdk</tt> directory contains the source code and make files for 544 building the OpenJDK runtime libraries and misc files. 545 The top level <tt>Makefile</tt> 546 is used to build the entire OpenJDK. 547 </p> 548 549 <h3><a name="drops">Managing the Source Drops</a></h3> 550 <blockquote> 551 <p> 552 The repositories <tt>jaxp</tt> and <tt>jaxws</tt> actually 553 do not contain the sources for JAXP or JAX-WS. 554 These products have their own open source procedures at their 555 <a href="http://jaxp.java.net/">JAXP</a> and 556 <a href="http://jax-ws.java.net/">JAX-WS</a> home pages. 557 The OpenJDK project does need access to these sources to build 558 a complete JDK image because JAXP and JAX-WS are part of the JDK. 559 The current process for delivery of the JAXP and JAX-WS sources 560 involves so called "source drop bundles" downloaded from a public 561 website. 562 There are many reasons for this current mechanism, and it is 563 understood that this is not ideal for the open source community. 564 It is possible this process could change in the future. 565 <br> 566 <b>NOTE:</b> The <a href="http://download.java.net/openjdk/jdk6/"> 567 Complete OpenJDK Source Bundles</a> <u>will</u> contain the JAXP and 568 JAX-WS sources. 569 </p> 570 571 <h4><a name="dropcreation">Creation of New Source Drop Bundles</a></h4> 572 <blockquote> 573 <ol> 574 <li> 575 The JAXP or JAX-WS team prepares a new zip bundle, 576 places a copy in a public download area on java.net, 577 sends us a link and a list of CRs (Change Request Numbers). 578 The older download bundles should not be deleted. 579 It is the responsibility of the JAXP and JAX-WS team to 580 place the proper GPL legal notices on the sources 581 and do any filtering or java re-packaging for the 582 OpenJDK instances of these classes. 583 </li> 584 <li> 585 The OpenJDK team copies this new bundle into shared 586 area (e.g. <tt>/java/devtools/share/jdk6-drops</tt>). 587 Older bundles are never deleted so we retain the history. 588 </li> 589 <li> 590 The OpenJDK team edits the ant property file 591 <tt>jaxp/jaxp.properties</tt> or 592 <tt>jaxws/jaxws.properties</tt> to update the 593 base URL, the zip bundle name, and the MD5 checksum 594 of the zip bundle 595 (on Solaris: <tt>sum -c md5 <i>bundlename</i></tt>) 596 </li> 597 <li> 598 OpenJDK team reviews and commits those changes with the 599 given CRs. 600 </li> 601 </ol> 602 </blockquote> 603 604 <h4><a name="dropusage">Using Source Drop Bundles</a></h4> 605 <blockquote> 606 <p> 607 The ant scripts that build <tt>jaxp</tt> and <tt>jaxws</tt> 608 will attempt to locate these zip bundles from the directory 609 in the environment variable 610 <tt><a href="#ALT_DROPS_DIR">ALT_DROPS_DIR</a></tt>. 611 The checksums protect from getting the wrong, corrupted, or 612 improperly modified sources. 613 Once the sources are made available, the population will not 614 happen again unless a <tt>make clobber</tt> is requested 615 or the <tt>jaxp/drop/</tt> or <tt>jaxws/drop/</tt> 616 directory is explicitly deleted. 617 <br> 618 <b>NOTE:</b> The default Makefile and ant script behavior 619 is to NOT download these bundles from the public http site. 620 In general, doing downloads 621 during the build process is not advised, it creates too much 622 unpredictability in the build process. 623 However, you can use <tt>make ALLOW_DOWNLOADS=true</tt> to 624 tell the ant script that the download of the zip bundle is 625 acceptable. 626 </p> 627 <p> 628 The recommended procedure for keeping a cache of these 629 source bundles would be to download them once, place them 630 in a directory outside the repositories, and then set 631 <tt><a href="#ALT_DROPS_DIR">ALT_DROPS_DIR</a></tt> to refer 632 to that directory. 633 These drop bundles do change occasionally, so the newer 634 bundles may need to be added to this area from time to time. 635 </p> 636 </blockquote> 637 </blockquote> 477 638 </blockquote> 478 639 <!-- ------------------------------------------------------ --> … … 481 642 <blockquote> 482 643 Building the OpenJDK 483 is done with a < tt><i>gmake</i></tt>484 command lineand various644 is done with a <a href="#gmake">GNU <tt>make</tt></a> command line 645 and various 485 646 environment or make variable settings that direct the make rules 486 647 to where various components have been installed. … … 493 654 can be used to help the makefiles locate components. 494 655 <p> 495 Refer to the bash/sh/ksh setup file496 <tt>jdk/make/jdk_generic_profile.sh</tt>497 if you need help in setting up your environment variables.498 A build could be as simple as:656 Refer to the bash/sh/ksh setup file 657 <tt>jdk/make/jdk_generic_profile.sh</tt> 658 if you need help in setting up your environment variables. 659 A build could be as simple as: 499 660 <blockquote> 500 661 <pre><tt> 501 662 bash 502 663 . jdk/make/jdk_generic_profile.sh 503 < i>gmake</i> sanity && <i>gmake</i>664 <a href="#gmake"><tt>make</tt></a> sanity && <a href="#gmake"><tt>make</tt></a> 504 665 </tt></pre> 505 666 </blockquote> 506 667 <p> 507 Of course ksh or sh would work too.508 But some customization will probably be necessary.509 The <tt>sanity</tt> rule will make some basic checks on build510 dependencies and generate appropriate warning messages511 regarding missing, out of date, or newer than expected components512 found on your system.668 Of course ksh or sh would work too. 669 But some customization will probably be necessary. 670 The <tt>sanity</tt> rule will make some basic checks on build 671 dependencies and generate appropriate warning messages 672 regarding missing, out of date, or newer than expected components 673 found on your system. 513 674 </blockquote> 514 675 <!-- ------------------------------------------------------ --> … … 516 677 <h3><a name="gmake">GNU make (<tt><i>gmake</i></tt>)</a></h3> 517 678 <blockquote> 518 The Makefiles in the OpenJDK are only valid when used with the 679 The Makefiles in the OpenJDK are only valid when used with the 519 680 GNU version of the utility command <tt>make</tt> 520 681 (<tt><i>gmake</i></tt>). … … 522 683 <ul> 523 684 <li> 524 In general, you need GNU make version 3.78.1 or newer.525 </li> 526 <li> 527 Place the location of the GNU make binary in the <tt>PATH</tt>. 685 You need GNU make version 3.81 or newer. 686 </li> 687 <li> 688 Place the location of the GNU make binary in the <tt>PATH</tt>. 528 689 </li> 529 690 <li> 530 691 <strong>Linux:</strong> 531 The <tt>/usr/bin/make</tt> command should work fine for you. 692 The <tt>/usr/bin/make</tt> should be 3.81 or newer 693 and should work fine for you. 694 If this version is not 3.81 or newer, 695 see the <a href="#buildgmake">"Building GNU make"</a> section. 532 696 </li> 533 697 <li> … … 535 699 Do NOT use <tt>/usr/bin/make</tt> on Solaris. 536 700 If your Solaris system has the software 537 from the Solaris Companion CD installed, 538 you should use <tt>gmake</tt>539 which will be located in either the <tt>/opt/sfw/bin</tt> or 701 from the Solaris Companion CD installed, 702 you should try and use <tt>gmake</tt> 703 which will be located in either the <tt>/opt/sfw/bin</tt> or 540 704 <tt>/usr/sfw/bin</tt> directory. 705 In more recent versions of Solaris GNU make might be found 706 at <tt>/usr/bin/gmake</tt>.<br> 707 <b>NOTE:</b> It is very likely that this <tt>gmake</tt> 708 could be 3.80, you need 3.81, in which case, 709 see the <a href="#buildgmake">"Building GNU make"</a> section. 541 710 </li> 542 711 <li> 543 712 <strong>Windows:</strong> 544 713 Make sure you start your build inside a bash/sh/ksh shell 545 546 547 548 714 and are using a <tt>make.exe</tt> utility built for that 715 environment (a cygwin <tt>make.exe</tt> is not the same 716 as a <tt>make.exe</tt> built for something like 717 <a href="http://www.mkssoftware.com/">MKS</a>). 549 718 <br> 550 <b>WARNING:</b> Watch out for make version 3.81, it may 551 not work due to a lack of support for drive letter paths 552 like <tt>C:/</tt>. See 553 <a href="#gmake">section on gmake</a>. 554 Use a 3.80 version, or find a newer 555 version that has this problem fixed. 556 The older 3.80 version of make.exe can be downloaded with this 557 <a href="http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2" target="_blank"> 558 link</a>. 559 Also see the 719 <b>WARNING:</b> Watch out on some make 3.81 versions, it may 720 not work due to a lack of support for MS-DOS drive letter paths 721 like <tt>C:/</tt> or <tt>C:\</tt>. 722 <br> 723 You may be able to use the information at the 560 724 <a href="http://developer.mozilla.org/en/docs/Windows_build_prerequisites_using_cygwin#make" target="_blank"> 561 mozilla developer center</a>725 mozilla developer center</a> 562 726 on this topic. 727 <br> 728 It's hoped that when make 3.82 starts shipping in a future cygwin 729 release that this MS-DOS path issue will be fixed. 730 <br> 731 It may be possible to download the version at 732 <a href="http://www.cmake.org/files/cygwin/make.exe"> 733 www.cmake.org make.exe</a>. 734 <br> 735 It might be necessary for you to build your own GNU make 3.81, 736 see the <a href="#buildgmake">"Building GNU make"</a> section 737 in that case. 563 738 </li> 564 739 </ul> 565 740 <p> 566 Information on GNU make, and access to ftp download sites, are 567 available on the 568 <a href="http://www.gnu.org/software/make/make.html" target="_blank"> 569 GNU make web site 570 </a>. 571 The latest source to GNU make is available at 572 <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank"> 573 ftp.gnu.org/pub/gnu/make/</a>. 574 </blockquote> 741 Information on GNU make, and access to ftp download sites, are 742 available on the 743 <a href="http://www.gnu.org/software/make/make.html" target="_blank"> 744 GNU make web site 745 </a>. 746 The latest source to GNU make is available at 747 <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank"> 748 ftp.gnu.org/pub/gnu/make/</a>. 749 </p> 750 <!-- ------------------------------------------------------ --> 751 <h4><a name="buildgmake">Building GNU make</a></h4> 752 <blockquote> 753 First step is to get the GNU make 3.81 source from 754 <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank"> 755 ftp.gnu.org/pub/gnu/make/</a>. 756 Building is a little different depending on the OS and unix toolset 757 on Windows: 758 <ul> 759 <li> 760 <strong>Linux:</strong> 761 <tt>./configure && make</tt> 762 </li> 763 <li> 764 <strong>Solaris:</strong> 765 <tt>./configure && gmake CC=gcc</tt> 766 </li> 767 <li> 768 <strong>Windows for CYGWIN:</strong> 769 <tt>./configure && make</tt> 770 </li> 771 <li> 772 <strong>Windows for MKS: (CYGWIN is recommended)</strong> 773 <tt>./configure && make -f Makefile.win32</tt> 774 </li> 775 </ul> 776 </blockquote> 777 </blockquote> 778 575 779 <!-- ------------------------------------------------------ --> 576 780 <hr> … … 582 786 approximately 1.5 GB of free disk space. 583 787 <p> 584 <strong>X64 only:</strong>585 The minimum recommended hardware for building the Linux586 version is an AMD Opteron class processor, at least 512 MB of RAM, and587 approximately 4 GB of free disk space.788 <strong>X64 only:</strong> 789 The minimum recommended hardware for building the Linux 790 version is an AMD Opteron class processor, at least 512 MB of RAM, and 791 approximately 4 GB of free disk space. 588 792 <p> 589 The build will use the tools contained in590 <tt>/bin</tt> and591 <tt>/usr/bin</tt>592 of a standard installation of the Linux operating environment.593 You should ensure that these directories are in your594 <tt>PATH</tt>.595 <p> 596 Note that some Linux systems have a habit of pre-populating597 your environment variables for you, for example <tt>JAVA_HOME</tt>598 might get pre-defined for you to refer to the JDK installed on599 your Linux system.600 You will need to unset <tt>JAVA_HOME</tt>.601 It's a good idea to run <tt>env</tt> and verify the602 environment variables you are getting from the default system603 settings make sense for building the604 OpenJDK.793 The build will use the tools contained in 794 <tt>/bin</tt> and 795 <tt>/usr/bin</tt> 796 of a standard installation of the Linux operating environment. 797 You should ensure that these directories are in your 798 <tt>PATH</tt>. 799 <p> 800 Note that some Linux systems have a habit of pre-populating 801 your environment variables for you, for example <tt>JAVA_HOME</tt> 802 might get pre-defined for you to refer to the JDK installed on 803 your Linux system. 804 You will need to unset <tt>JAVA_HOME</tt>. 805 It's a good idea to run <tt>env</tt> and verify the 806 environment variables you are getting from the default system 807 settings make sense for building the 808 OpenJDK. 605 809 </blockquote> 606 810 <!-- ------------------------------------------------------ --> … … 618 822 </li> 619 823 <li> 620 Install or upgrade the <a href="#freetype">FreeType development621 package</a>.824 Install or upgrade the <a href="#freetype">FreeType development 825 package</a>. 622 826 </li> 623 827 <li> 624 828 Install 625 <a href="#ant">Ant </a>,829 <a href="#ant">Ant 1.7.1 or newer</a>, 626 830 make sure it is in your PATH. 627 831 </li> 628 832 <li style="background-color:white"> 629 <!-- OpenJDK 6 Specific -->630 Install the631 <a href="#motif">Motif header files</a>, set632 <tt><a href="#ALT_MOTIF_DIR">ALT_MOTIF_DIR</a></tt>.833 <!-- OpenJDK 6 Specific --> 834 Install the 835 <a href="#motif">Motif header files</a>, set 836 <tt><a href="#ALT_MOTIF_DIR">ALT_MOTIF_DIR</a></tt>. 633 837 </li> 634 838 </ol> … … 646 850 space is needed for a 32-bit build. 647 851 <p> 648 If you are building the 64bit version, you should649 run the command "isainfo -v" to verify that you have a650 64-bit installation, it should say <tt>sparcv9</tt> or651 <tt>amd64</tt>.652 An additional 7 GB of free disk space is needed653 for a 64-bit build.852 If you are building the 64bit version, you should 853 run the command "isainfo -v" to verify that you have a 854 64-bit installation, it should say <tt>sparcv9</tt> or 855 <tt>amd64</tt>. 856 An additional 7 GB of free disk space is needed 857 for a 64-bit build. 654 858 <p> 655 The build uses the tools contained in <tt>/usr/ccs/bin</tt>656 and <tt>/usr/bin</tt> of a standard developer or full installation of657 the Solaris operating environment.859 The build uses the tools contained in <tt>/usr/ccs/bin</tt> 860 and <tt>/usr/bin</tt> of a standard developer or full installation of 861 the Solaris operating environment. 658 862 <p> 659 Solaris patches specific to the JDK can be downloaded from the660 <a href="http://sunsolve.sun.com/show.do?target=patches/JavaSE" target="_blank">661 SunSolve JDK Solaris patches download page</a>.662 You should ensure that the latest patch cluster for663 your version of the Solaris operating environment has also664 been installed.863 Solaris patches specific to the JDK can be downloaded from the 864 <a href="http://sunsolve.sun.com/show.do?target=patches/JavaSE" target="_blank"> 865 SunSolve JDK Solaris patches download page</a>. 866 You should ensure that the latest patch cluster for 867 your version of the Solaris operating environment has also 868 been installed. 665 869 </blockquote> 666 870 <!-- ------------------------------------------------------ --> … … 689 893 <li> 690 894 Install 691 <a href="#ant">Ant </a>,895 <a href="#ant">Ant 1.7.1 or newer</a>, 692 896 make sure it is in your PATH. 693 897 </li> … … 709 913 </strong> 710 914 <p> 711 <strong>X64 only:</strong>712 The minimum recommended hardware for building713 the Windows X64 version is an AMD Opteron class processor, at least 1714 GB of RAM, and approximately 10 GB of free disk space.915 <strong>X64 only:</strong> 916 The minimum recommended hardware for building 917 the Windows X64 version is an AMD Opteron class processor, at least 1 918 GB of RAM, and approximately 10 GB of free disk space. 715 919 </blockquote> 716 920 <!-- ------------------------------------------------------ --> … … 731 935 <tt>cygpath -s -m "<i>path</i>"</tt>. 732 936 <p> 733 The makefiles will try to translate any pathnames supplied734 to it into the <tt>C:/</tt> style automatically.735 <p> 736 Note that use of CYGWIN creates a unique problem with regards to737 setting <a href="#path"><tt>PATH</tt></a>. Normally on Windows738 the <tt>PATH</tt> variable contains directories739 separated with the ";" character (Solaris and Linux uses ":").740 With CYGWIN, it uses ":", but that means that paths like "C:/path"741 cannot be placed in the CYGWIN version of <tt>PATH</tt> and742 instead CYGWIN uses something like <tt>/cygdrive/c/path</tt>743 which CYGWIN understands, but only CYGWIN understands.744 So be careful with paths on Windows.937 The makefiles will try to translate any pathnames supplied 938 to it into the <tt>C:/</tt> style automatically. 939 <p> 940 Note that use of CYGWIN creates a unique problem with regards to 941 setting <a href="#path"><tt>PATH</tt></a>. Normally on Windows 942 the <tt>PATH</tt> variable contains directories 943 separated with the ";" character (Solaris and Linux uses ":"). 944 With CYGWIN, it uses ":", but that means that paths like "C:/path" 945 cannot be placed in the CYGWIN version of <tt>PATH</tt> and 946 instead CYGWIN uses something like <tt>/cygdrive/c/path</tt> 947 which CYGWIN understands, but only CYGWIN understands. 948 So be careful with paths on Windows. 745 949 </blockquote> 746 950 <!-- ------------------------------------------------------ --> … … 776 980 <li> 777 981 Install 778 <a href="#ant">Ant </a>,982 <a href="#ant">Ant 1.7.1 or newer,</a>, 779 983 make sure it is in your PATH and set 780 984 <tt><a href="#ANT_HOME">ANT_HOME</a></tt>. … … 809 1013 </blockquote> 810 1014 The JDK 6 binaries can be downloaded from Sun's 811 <a href="http://java.sun.com/javase/1.6.0/download.html" target="_blank">JDK 6 download site</a>. 1015 <a href="http://java.sun.com/javase/1.6.0/download.html" target="_blank"> 1016 JDK 6 download site</a>. 812 1017 For build performance reasons 813 1018 is very important that this bootstrap JDK be made available on the … … 822 1027 not required. 823 1028 <p> 824 <strong>Solaris:</strong>825 Some pre-installed JDK images may be available to you in the826 directory <tt>/usr/jdk/instances</tt>.827 If you don't set828 <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>829 The makefiles will look in that location for a JDK it can use.830 831 1029 <strong>Solaris:</strong> 1030 Some pre-installed JDK images may be available to you in the 1031 directory <tt>/usr/jdk/instances</tt>. 1032 If you don't set 1033 <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt> 1034 The makefiles will look in that location for a JDK it can use. 1035 <p> 1036 <strong>Linux:</strong> 832 1037 Many GNU/Linux distributions already include OpenJDK 6. OpenJDK 6 833 1038 can be used to bootstrap itself, so installing the corresponding 834 1039 distribution package is sufficient. You'll still need to set 835 <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>, though.1040 <tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>, though. 836 1041 </blockquote> 837 1042 <!-- ------------------------------------------------------ --> … … 848 1053 <h4><a name="ant">Ant</a></h4> 849 1054 <blockquote> 850 All OpenJDK builds require access to least Ant 1. 6.5.851 The Ant tool is available from the852 <a href="http://a nt.apache.org" target="_blank">853 Antdownload site</a>.1055 All OpenJDK builds require access to least Ant 1.7.1. 1056 The Ant 1.7.1 tool is available from the 1057 <a href="http://archive.apache.org/dist/ant/binaries/apache-ant-1.7.1-bin.zip" target="_blank"> 1058 Ant 1.7.1 archive download site</a>. 854 1059 You should always make sure <tt>ant</tt> is in your PATH, and 855 1060 on Windows you may also need to set … … 858 1063 the Ant installation, this is the directory pathname 859 1064 that contains a <tt>bin and lib</tt>. 1065 <br> 1066 <b>WARNING:</b> Ant versions used from IDE tools like NetBeans 1067 or installed via system packages may not operate the same 1068 as the one obtained from the Ant download bundles. 1069 These system and IDE installers sometimes choose to change 1070 the ant installation enough to cause differences. 860 1071 </blockquote> 861 1072 <!-- ------------------------------------------------------ --> … … 863 1074 <blockquote> 864 1075 See <a href="http://en.wikipedia.org/wiki/Certificate_Authority" target="_blank"> 865 http://en.wikipedia.org/wiki/Certificate_Authority</a>1076 http://en.wikipedia.org/wiki/Certificate_Authority</a> 866 1077 for a better understanding of the Certificate Authority (CA). 867 1078 A certificates file named "cacerts" … … 897 1108 At a minimum, the 898 1109 <a href="http://developers.sun.com/sunstudio/index.jsp" target="_blank"> 899 Sun Studio 11 Compilers</a>1110 Sun Studio 11 Compilers</a> 900 1111 (containing version 5.8 of the C and C++ compilers) is required, 901 1112 with patches from the 902 1113 <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access" target="_blank"> 903 SunSolve web site</a>.1114 SunSolve web site</a>. 904 1115 <p> 905 Set906 <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>907 to point to the location of908 the compiler binaries, and place this location in the <tt>PATH</tt>.1116 Set 1117 <a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> 1118 to point to the location of 1119 the compiler binaries, and place this location in the <tt>PATH</tt>. 909 1120 <p> 910 The Sun Studio Express compilers at:911 <a href="http://developers.sun.com/sunstudio/downloads/express.jsp" target="_blank">912 Sun Studio Express Download site</a>913 are also an option, although these compilers have not914 been extensively used yet.1121 The Sun Studio Express compilers at: 1122 <a href="http://developers.sun.com/sunstudio/downloads/express.jsp" target="_blank"> 1123 Sun Studio Express Download site</a> 1124 are also an option, although these compilers have not 1125 been extensively used yet. 915 1126 </blockquote> 916 1127 <strong><a name="msvc">Windows i586: Microsoft Visual Studio .NET 2003 Professional</a></strong> … … 923 1134 is set by the Microsoft Visual Studio .NET installer. 924 1135 <p> 925 Once the compiler is installed,926 it is recommended that you run <tt>VCVARS32.BAT</tt>927 to set the compiler environment variables928 <tt>MSVCDIR</tt>,929 <tt>INCLUDE</tt>,930 <tt>LIB</tt>, and931 <tt>PATH</tt>932 prior to building the933 OpenJDK.934 The above environment variables <b>MUST</b> be set.1136 Once the compiler is installed, 1137 it is recommended that you run <tt>VCVARS32.BAT</tt> 1138 to set the compiler environment variables 1139 <tt>MSVCDIR</tt>, 1140 <tt>INCLUDE</tt>, 1141 <tt>LIB</tt>, and 1142 <tt>PATH</tt> 1143 prior to building the 1144 OpenJDK. 1145 The above environment variables <b>MUST</b> be set. 935 1146 <p> 936 The Microsoft Visual Studio .NET 2005 (VS2005) compiler 937 will not work at this time due to the new runtime dll 938 and the manifest requirements. 1147 These bat files are not easy to use from a shell environment. 1148 There is a script placed in the root jdk6 repository called 1149 vsvars.sh that can help, it should only be done once in a shell 1150 that will be doing the build, e.g.<br> 1151 <tt>sh ./make/scripts/vsvars.sh -v7 > settings<br> 1152 eval `cat settings`</tt><br> 1153 Or just <tt>eval `sh ./make/scripts/vsvars.sh -v7`</tt>. 1154 <p> 1155 The Microsoft Visual Studio .NET 2005 (VS2005) compiler 1156 will not work at this time due to the new runtime dll 1157 and the manifest requirements. 939 1158 </blockquote> 940 1159 <strong><a name="mssdk">Windows X64: Microsoft Platform SDK April 2005</a></strong> … … 947 1166 the MDAC SDK features of this compiler. 948 1167 <p> 949 Once the Platform SDK is installed,950 it is recommended that you run <tt>SetEnv.Cmd /X64</tt>951 to set the compiler environment variables952 <tt>MSSDK</tt>,953 <tt>MSTOOLS</tt>,954 <tt>INCLUDE</tt>,955 <tt>LIB</tt>, and956 <tt>PATH</tt>957 prior to building the958 OpenJDK.959 The above environment variables <b>MUST</b> be set.1168 Once the Platform SDK is installed, 1169 it is recommended that you run <tt>SetEnv.Cmd /X64</tt> 1170 to set the compiler environment variables 1171 <tt>MSSDK</tt>, 1172 <tt>MSTOOLS</tt>, 1173 <tt>INCLUDE</tt>, 1174 <tt>LIB</tt>, and 1175 <tt>PATH</tt> 1176 prior to building the 1177 OpenJDK. 1178 The above environment variables <b>MUST</b> be set. 960 1179 <p> 961 Note that this compiler may say it's version is a962 Microsoft Visual Studio .NET 2005 (VS2005), but be careful,963 it will not match the official VS2005 product.964 This Platform SDK compiler is only used on X64 builds.1180 Note that this compiler may say it's version is a 1181 Microsoft Visual Studio .NET 2005 (VS2005), but be careful, 1182 it will not match the official VS2005 product. 1183 This Platform SDK compiler is only used on X64 builds. 965 1184 </blockquote> 966 1185 </blockquote> … … 989 1208 <tt>/opt/sfw/cups</tt>. 990 1209 <p> 991 <strong>Linux:</strong>992 CUPS header files are required for building the993 OpenJDK on Linux.994 The Linux header files are usually available from a "cups"995 development package, it's recommended that you try and use996 the package provided by the particular version of Linux that997 you are using.1210 <strong>Linux:</strong> 1211 CUPS header files are required for building the 1212 OpenJDK on Linux. 1213 The Linux header files are usually available from a "cups" 1214 development package, it's recommended that you try and use 1215 the package provided by the particular version of Linux that 1216 you are using. 998 1217 <p> 999 The CUPS header files can always be downloaded from1000 <a href="http://www.cups.org" target="_blank">www.cups.org</a>.1001 The variable1002 <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>1003 can be used to override the default location of the1004 CUPS Header files.1218 The CUPS header files can always be downloaded from 1219 <a href="http://www.cups.org" target="_blank">www.cups.org</a>. 1220 The variable 1221 <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt> 1222 can be used to override the default location of the 1223 CUPS Header files. 1005 1224 </blockquote> 1006 1225 <!-- ------------------------------------------------------ --> … … 1011 1230 OpenJDK 6. 1012 1231 <p> 1013 <strong>Solaris:</strong>1014 Normally these files can be found on Solaris systems1015 at /usr/include/Xm, so on Solaris systems no further downloads1016 should be needed.1232 <strong>Solaris:</strong> 1233 Normally these files can be found on Solaris systems 1234 at /usr/include/Xm, so on Solaris systems no further downloads 1235 should be needed. 1017 1236 <p> 1018 <strong>Linux:</strong>1019 On Linux, your particular Linux distribution may provide a1020 "motif" development package you can install. If this package1021 installs the files into /usr/include/Xm, no further action should1022 be needed.1023 An acceptable version of these Motif header files are1024 available in the source bundle1025 <a href="http://www.openbsd.org/3.9_packages/hppa/openmotif-2.1.30.5p1.tgz-long.html">1026 openmotif-2.1.30.5p1.tgz</a>1027 from1028 <a href="http://www.openbsd.org/">www.openbsd.org</a>.1029 You would need to install the package and set the environment variable1030 <tt><a href="#ALT_MOTIF_DIR">ALT_MOTIF_DIR</a></tt>1031 to refer to the top of this installation.1237 <strong>Linux:</strong> 1238 On Linux, your particular Linux distribution may provide a 1239 "motif" development package you can install. If this package 1240 installs the files into /usr/include/Xm, no further action should 1241 be needed. 1242 An acceptable version of these Motif header files are 1243 available in the source bundle 1244 <a href="http://www.openbsd.org/3.9_packages/hppa/openmotif-2.1.30.5p1.tgz-long.html"> 1245 openmotif-2.1.30.5p1.tgz</a> 1246 from 1247 <a href="http://www.openbsd.org/">www.openbsd.org</a>. 1248 You would need to install the package and set the environment variable 1249 <tt><a href="#ALT_MOTIF_DIR">ALT_MOTIF_DIR</a></tt> 1250 to refer to the top of this installation. 1032 1251 </blockquote> 1033 1252 <!-- ------------------------------------------------------ --> … … 1040 1259 includes both FreeType library and header files. 1041 1260 <p> 1042 You can always download latest FreeType version from the1043 <a href="http://www.freetype.org" target="_blank">FreeType website</a>.1261 You can always download latest FreeType version from the 1262 <a href="http://www.freetype.org" target="_blank">FreeType website</a>. 1044 1263 <p> 1045 Makefiles will try to pick FreeType from /usr/lib and /usr/include.1046 In case it is installed elsewhere you will need to set environment1047 variables1048 <tt><a href="#ALT_FREETYPE_LIB_PATH">ALT_FREETYPE_LIB_PATH</a></tt>1049 and1050 <tt><a href="#ALT_FREETYPE_HEADERS_PATH">ALT_FREETYPE_HEADERS_PATH</a></tt>1051 to refer to place where library and header files are installed.1264 Makefiles will try to pick FreeType from /usr/lib and /usr/include. 1265 In case it is installed elsewhere you will need to set environment 1266 variables 1267 <tt><a href="#ALT_FREETYPE_LIB_PATH">ALT_FREETYPE_LIB_PATH</a></tt> 1268 and 1269 <tt><a href="#ALT_FREETYPE_HEADERS_PATH">ALT_FREETYPE_HEADERS_PATH</a></tt> 1270 to refer to place where library and header files are installed. 1052 1271 </blockquote> 1053 1272 <!-- ------------------------------------------------------ --> … … 1065 1284 missing or the wrong version. 1066 1285 <p> 1067 In particular, older Linux systems will likely not have the1068 right version of ALSA installed, for example1069 Redhat AS 2.1 U2 and SuSE 8.1 do not include a sufficiently1070 recent ALSA distribution.1071 On rpm-based systems, you can see if ALSA is installed by1072 running this command:1286 In particular, older Linux systems will likely not have the 1287 right version of ALSA installed, for example 1288 Redhat AS 2.1 U2 and SuSE 8.1 do not include a sufficiently 1289 recent ALSA distribution. 1290 On rpm-based systems, you can see if ALSA is installed by 1291 running this command: 1073 1292 <pre> 1074 1293 <tt>rpm -qa | grep alsa</tt> … … 1076 1295 Both <tt>alsa</tt> and <tt>alsa-devel</tt> packages are needed. 1077 1296 <p> 1078 If your distribution does not come with ALSA, and you can't1079 find ALSA packages built for your particular system,1080 you can try to install the pre-built ALSA rpm packages from1081 <a href="http://www.freshrpms.net/" target="_blank">1082 <tt>www.freshrpms.net</tt></a>.1083 Note that installing a newer ALSA could1084 break sound output if an older version of ALSA was previously1085 installed on the system, but it will enable JDK compilation.1297 If your distribution does not come with ALSA, and you can't 1298 find ALSA packages built for your particular system, 1299 you can try to install the pre-built ALSA rpm packages from 1300 <a href="http://www.freshrpms.net/" target="_blank"> 1301 <tt>www.freshrpms.net</tt></a>. 1302 Note that installing a newer ALSA could 1303 break sound output if an older version of ALSA was previously 1304 installed on the system, but it will enable JDK compilation. 1086 1305 <blockquote> 1087 1306 Installation: execute as root<br> … … 1098 1317 As a last resort you can go to the 1099 1318 <a href="http://www.alsa-project.org" target="_blank"> 1100 Advanced Linux Sound Architecture Site</a> and build it from1319 Advanced Linux Sound Architecture Site</a> and build it from 1101 1320 source. 1102 1321 <blockquote> … … 1126 1345 steps are necessary as outlined in the documentation on ALSA's homepage. 1127 1346 <p> 1128 ALSA can be uninstalled by executing <tt>make uninstall</tt> first in1129 the <tt>alsa-lib-0.9.1</tt> directory and then in1130 <tt>alsa-driver-0.9.1</tt>.1347 ALSA can be uninstalled by executing <tt>make uninstall</tt> first in 1348 the <tt>alsa-lib-0.9.1</tt> directory and then in 1349 <tt>alsa-driver-0.9.1</tt>. 1131 1350 </blockquote> 1132 1351 There are no ALT* variables to change the assumed locations of ALSA, … … 1143 1362 <a href="http://www.cygwin.com" target="_blank">CYGWIN</a>. 1144 1363 <p> 1145 The OpenJDK build requires CYGWIN version 1.5.12 or newer.1146 Information about CYGWIN can1147 be obtained from the CYGWIN website at1148 <a href="http://www.cygwin.com" target="_blank">www.cygwin.com</a>.1364 The OpenJDK build requires CYGWIN version 1.5.12 or newer. 1365 Information about CYGWIN can 1366 be obtained from the CYGWIN website at 1367 <a href="http://www.cygwin.com" target="_blank">www.cygwin.com</a>. 1149 1368 <p> 1150 By default CYGWIN doesn't install all the tools required for building1151 the OpenJDK.1152 Along with the default installation, you need to install1153 the following tools.1369 By default CYGWIN doesn't install all the tools required for building 1370 the OpenJDK. 1371 Along with the default installation, you need to install 1372 the following tools. 1154 1373 <blockquote> 1155 1374 <table border="1"> … … 1166 1385 <td>Devel</td> 1167 1386 <td>binutils: The GNU assembler, linker and binary 1168 utilities</td>1387 utilities</td> 1169 1388 </tr> 1170 1389 <tr> … … 1177 1396 <td>Interpreters</td> 1178 1397 <td>m4: GNU implementation of the traditional Unix macro 1179 processor</td>1398 processor</td> 1180 1399 </tr> 1181 1400 <tr> … … 1213 1432 </blockquote> 1214 1433 <p> 1215 Note that the CYGWIN software can conflict with other non-CYGWIN1216 software on your Windows system.1217 CYGWIN provides a1218 <a href="http://cygwin.com/faq/faq.using.html" target="_blank">FAQ</a> for1219 known issues and problems, of particular interest is the1220 section on1221 <a href="http://cygwin.com/faq/faq.using.html#faq.using.bloda" target="_blank">1222 BLODA (applications that interfere with CYGWIN)</a>.1434 Note that the CYGWIN software can conflict with other non-CYGWIN 1435 software on your Windows system. 1436 CYGWIN provides a 1437 <a href="http://cygwin.com/faq/faq.using.html" target="_blank">FAQ</a> for 1438 known issues and problems, of particular interest is the 1439 section on 1440 <a href="http://cygwin.com/faq/faq.using.html#faq.using.bloda" target="_blank"> 1441 BLODA (applications that interfere with CYGWIN)</a>. 1223 1442 </blockquote> 1224 1443 <strong><a name="dxsdk">Microsoft DirectX 9.0 SDK header files and libraries</a></strong> … … 1229 1448 This SDK can be downloaded from 1230 1449 <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FD044A42-9912-42A3-9A9E-D857199F888E&displaylang=en" target="_blank"> 1231 Microsoft DirectX 9.0 SDK (Summer 2004)</a>.1450 Microsoft DirectX 9.0 SDK (Summer 2004)</a>. 1232 1451 If the link above becomes obsolete, the SDK can be found from 1233 1452 <a href="http://download.microsoft.com" target="_blank">the Microsoft Download Site</a> … … 1248 1467 variable to the location. 1249 1468 <p> 1250 <strong>X64 only:</strong>1251 The OpenJDK 64bit build requires access to1252 <tt>MSVCRT.DLL</tt> version 7.0.3790.0 or newer, which is1253 usually supplied by the1254 <a href="#mssdk">Platform SDK</a>.1255 If it is not available from the Platform SDK,1256 set the1257 <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>1258 variable to the location.1469 <strong>X64 only:</strong> 1470 The OpenJDK 64bit build requires access to 1471 <tt>MSVCRT.DLL</tt> version 7.0.3790.0 or newer, which is 1472 usually supplied by the 1473 <a href="#mssdk">Platform SDK</a>. 1474 If it is not available from the Platform SDK, 1475 set the 1476 <a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a> 1477 variable to the location. 1259 1478 </blockquote> 1260 1479 <strong><tt><a name="msvcr71">MSVCR71.DLL</a></tt></strong> … … 1307 1526 </ol> 1308 1527 <p> 1309 <strong>Solaris:</strong>1310 Note that ARCH_DATA_MODEL is really only needed on Solaris to1311 indicate you want to built the 64-bit version.1312 And before the Solaris 64-bit binaries can be used, they1313 must be merged with the binaries from a separate 32-bit build.1314 The merged binaries may then be used in either 32-bit or 64-bit mode, with1315 the selection occurring at runtime1316 with the <tt>-d32</tt> or <tt>-d64</tt> options.1528 <strong>Solaris:</strong> 1529 Note that ARCH_DATA_MODEL is really only needed on Solaris to 1530 indicate you want to built the 64-bit version. 1531 And before the Solaris 64-bit binaries can be used, they 1532 must be merged with the binaries from a separate 32-bit build. 1533 The merged binaries may then be used in either 32-bit or 64-bit mode, with 1534 the selection occurring at runtime 1535 with the <tt>-d32</tt> or <tt>-d64</tt> options. 1317 1536 </blockquote> 1318 1537 <!-- ------------------------------------------------------ --> … … 1326 1545 <tt>build/<i>platform</i></tt>, 1327 1546 where <tt><i>platform</i></tt> is one of 1328 < tt><ul>1329 <li>solaris-sparc</li>1330 <li>solaris-sparcv9</li>1331 <li>solaris-i586</li>1332 <li>solaris-amd64</li>1333 <li>linux-i586</li>1334 <li>linux-amd64</li>1335 <li>windows-i586</li>1336 <li>windows-amd64</li>1337 </ul> </tt>1547 <ul> 1548 <li><tt>solaris-sparc</tt></li> 1549 <li><tt>solaris-sparcv9</tt></li> 1550 <li><tt>solaris-i586</tt></li> 1551 <li><tt>solaris-amd64</tt></li> 1552 <li><tt>linux-i586</tt></li> 1553 <li><tt>linux-amd64</tt></li> 1554 <li><tt>windows-i586</tt></li> 1555 <li><tt>windows-amd64</tt></li> 1556 </ul> 1338 1557 In particular, the 1339 1558 <tt>build/<i>platform</i>/j2sdk-image/bin</tt> … … 1341 1560 OpenJDK tools and utilities. 1342 1561 <p> 1343 You can test that the build completed properly by using the build1344 to run the various demos that you will find in the1345 <tt>build/<i>platform</i>/j2sdk-image/demo</tt>1346 directory.1347 <p> 1348 The provided regression tests can be run with the <tt>jtreg</tt>1349 utility from1350 <a href="http://openjdk.java.net/jtreg/" target="_blank">the jtreg site</a>.1562 You can test that the build completed properly by using the build 1563 to run the various demos that you will find in the 1564 <tt>build/<i>platform</i>/j2sdk-image/demo</tt> 1565 directory. 1566 <p> 1567 The provided regression tests can be run with the <tt>jtreg</tt> 1568 utility from 1569 <a href="http://openjdk.java.net/jtreg/" target="_blank">the jtreg site</a>. 1351 1570 </blockquote> 1352 1571 <!-- ------------------------------------------------------ --> … … 1354 1573 <h2><a name="variables">Environment/Make Variables</a></h2> 1355 1574 <p> 1356 Some of the1357 environment or make variables (just called <b>variables</b> in this1358 document) that can impact the build are:1575 Some of the 1576 environment or make variables (just called <b>variables</b> in this 1577 document) that can impact the build are: 1359 1578 <blockquote> 1360 1579 <dl> … … 1364 1583 <li>The location of the GNU make binary</li> 1365 1584 <li>The location of the Bootstrap JDK <tt>java</tt> 1366 (see <a href="#bootjdk">Bootstrap JDK</a>)</li>1585 (see <a href="#bootjdk">Bootstrap JDK</a>)</li> 1367 1586 <li>The location of the C/C++ compilers 1368 (see <a href="#compilers"><tt>compilers</tt></a>)</li>1587 (see <a href="#compilers"><tt>compilers</tt></a>)</li> 1369 1588 <li>The location or locations for the Unix command utilities 1370 (e.g. <tt>/usr/bin</tt>)</li>1589 (e.g. <tt>/usr/bin</tt>)</li> 1371 1590 </ul> 1372 1591 </dd> … … 1467 1686 and on Windows with CYGWIN 1468 1687 <tt>/usr/bin</tt>. 1688 </dd> 1689 <dt><tt><a name="ALT_DROPS_DIR">ALT_DROPS_DIR</a></tt> </dt> 1690 <dd> 1691 The location of any source drop bundles 1692 (see <a href="#drops">Managing the Source Drops</a>). 1693 The default will be 1694 <tt>$(ALT_JDK_DEVTOOLS_PATH)/share/jdk6-drops</tt>. 1469 1695 </dd> 1470 1696 <dt><a name="ALT_UNIXCOMMAND_PATH"><tt>ALT_UNIXCOMMAND_PATH</tt></a> </dt> … … 1571 1797 <a href="#contents">Table of Contents</a>. 1572 1798 <p> 1573 You can validate your build environment by using the <tt>sanity</tt>1574 target.1575 Any errors listed1576 will stop the build from starting, and any warnings may result in1577 a flawed product build.1578 We strongly encourage you to evaluate every1579 sanity check warning and fix it if required, before you proceed1580 further with your build.1581 <p> 1582 Some of the more common problems with builds are briefly described1583 below, with suggestions for remedies.1799 You can validate your build environment by using the <tt>sanity</tt> 1800 target. 1801 Any errors listed 1802 will stop the build from starting, and any warnings may result in 1803 a flawed product build. 1804 We strongly encourage you to evaluate every 1805 sanity check warning and fix it if required, before you proceed 1806 further with your build. 1807 <p> 1808 Some of the more common problems with builds are briefly described 1809 below, with suggestions for remedies. 1584 1810 <ul> 1811 <li> 1812 <b>Corrupted Bundles on Windows:</b> 1813 <blockquote> 1814 Some virus scanning software has been known to corrupt the 1815 downloading of zip bundles. 1816 It may be necessary to disable the 'on access' or 'real time' 1817 virus scanning features to prevent this corruption. 1818 This type of "real time" virus scanning can also slow down the 1819 build process significantly. 1820 Temporarily disabling the feature, or excluding the build 1821 output directory may be necessary to get correct and faster builds. 1822 </blockquote> 1823 </li> 1585 1824 <li> 1586 1825 <b>Slow Builds:</b> … … 1592 1831 not a good idea). 1593 1832 <p> 1594 Creating the javadocs can be very slow, if you are running1595 javadoc, consider skipping that step.1833 Creating the javadocs can be very slow, if you are running 1834 javadoc, consider skipping that step. 1596 1835 <p> 1597 Faster hardware and more RAM always helps too.1598 The VM build tends to be CPU intensive (many C++ compiles),1599 and the rest of the JDK will often be disk intensive.1836 Faster hardware and more RAM always helps too. 1837 The VM build tends to be CPU intensive (many C++ compiles), 1838 and the rest of the JDK will often be disk intensive. 1600 1839 <p> 1601 Faster compiles are possible using a tool called1602 <a href="http://ccache.samba.org/" target="_blank">ccache</a>.1840 Faster compiles are possible using a tool called 1841 <a href="http://ccache.samba.org/" target="_blank">ccache</a>. 1603 1842 </blockquote> 1604 1843 </li> … … 1609 1848 <blockquote> 1610 1849 <i>Warning message:</i><tt> File `xxx' has modification time in 1611 the future.</tt>1850 the future.</tt> 1612 1851 <br> 1613 1852 <i>Warning message:</i> <tt> Clock skew detected. Your build may 1614 be incomplete.</tt>1853 be incomplete.</tt> 1615 1854 </blockquote> 1616 1855 These warnings can occur when the clock on the build machine is out of … … 1624 1863 in the 1.4 source code. 1625 1864 <p> 1626 If you see these warnings, reset the clock on the build1627 machine, run "<tt><i>gmake</i> clobber</tt>" or delete the directory1628 containing the build output, and restart the build from the beginning.1865 If you see these warnings, reset the clock on the build 1866 machine, run "<tt><i>gmake</i> clobber</tt>" or delete the directory 1867 containing the build output, and restart the build from the beginning. 1629 1868 </blockquote> 1630 1869 </li> … … 1653 1892 This is probably an issue with SELinux (See 1654 1893 <a href="http://en.wikipedia.org/wiki/SELinux" target="_blank"> 1655 http://en.wikipedia.org/wiki/SELinux</a>).1894 http://en.wikipedia.org/wiki/SELinux</a>). 1656 1895 Parts of the VM is built without the <tt>-fPIC</tt> for 1657 1896 performance reasons. 1658 1897 <p> 1659 To completely disable SELinux: 1660 <tt> 1661 <ol> 1662 <li>$ su root</li> 1663 <li># system-config-securitylevel</li> 1664 <li>In the window that appears, select the SELinux tab</li> 1665 <li>Disable SELinux</li> 1666 </ol> 1667 </tt> 1898 To completely disable SELinux: 1899 <ol> 1900 <li><tt>$ su root</tt></li> 1901 <li><tt># system-config-securitylevel</tt></li> 1902 <li><tt>In the window that appears, select the SELinux tab</tt></li> 1903 <li><tt>Disable SELinux</tt></li> 1904 </ol> 1668 1905 <p> 1669 Alternatively, instead of completely disabling it you could 1670 disable just this one check. 1671 <tt> 1672 <ol> 1673 <li>Select System->Administration->SELinux Management</li> 1674 <li>In the SELinux Management Tool which appears, 1675 select "Boolean" from the menu on the left</li> 1676 <li>Expand the "Memory Protection" group</li> 1677 <li>Check the first item, labeled 1678 "Allow all unconfined executables to use libraries requiring text relocation ..."</li> 1679 </ol> 1680 </tt> 1906 Alternatively, instead of completely disabling it you could 1907 disable just this one check. 1908 <ol> 1909 <li> 1910 Select <tt>System->Administration->SELinux Management</tt> 1911 </li> 1912 <li> 1913 In the SELinux Management Tool which appears, 1914 select "<tt>Boolean</tt>" from the menu on the left 1915 </li> 1916 <li> 1917 Expand the "<tt>Memory Protection</tt>" group 1918 </li> 1919 <li> 1920 Check the first item, labeled 1921 "<tt>Allow all unconfined executables to use libraries requiring text relocation ...</tt>" 1922 </li> 1923 </ol> 1681 1924 </blockquote> 1682 1925 </li> 1683 1926 <li> 1684 <b>Windows Error Message: <tt>*** fatal error - couldn't allocate heap, ... </tt></b> 1927 <b>Windows Error Messages:</b><br> 1928 <tt>*** fatal error - couldn't allocate heap, ... </tt><br> 1929 <tt>rm fails with "Directory not empty"</tt><br> 1930 <tt>unzip fails with "cannot create ... Permission denied"</tt><br> 1931 <tt>unzip fails with "cannot create ... Error 50"</tt><br> 1685 1932 <blockquote> 1686 1933 The CYGWIN software can conflict with other non-CYGWIN 1687 1934 software. See the CYGWIN FAQ section on 1688 1935 <a href="http://cygwin.com/faq/faq.using.html#faq.using.bloda" target="_blank"> 1689 BLODA (applications that interfere with CYGWIN)</a>.1936 BLODA (applications that interfere with CYGWIN)</a>. 1690 1937 </blockquote> 1691 1938 </li>
Note:
See TracChangeset
for help on using the changeset viewer.