< prev index next >

doc/building.html

Print this page

        

*** 178,204 **** </tr> </thead> <tbody> <tr class="odd"> <td style="text-align: left;">Linux</td> ! <td style="text-align: left;">Oracle Enterprise Linux 6.4 / 7.6</td> </tr> <tr class="even"> <td style="text-align: left;">Solaris</td> ! <td style="text-align: left;">Solaris 11.3 SRU 20</td> </tr> <tr class="odd"> <td style="text-align: left;">macOS</td> ! <td style="text-align: left;">Mac OS X 10.13 (High Sierra)</td> </tr> <tr class="even"> <td style="text-align: left;">Windows</td> <td style="text-align: left;">Windows Server 2012 R2</td> </tr> </tbody> </table> ! <p>The double version numbers for Linux and Solaris are due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.</p> <p>The Build Group has a wiki page with <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p> <h3 id="windows">Windows</h3> <p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p> <p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p> <p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin and Windows Subsystem for Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would likely be possible to support in a future version but that would require effort to implement.)</p> --- 178,204 ---- </tr> </thead> <tbody> <tr class="odd"> <td style="text-align: left;">Linux</td> ! <td style="text-align: left;">Oracle Enterprise Linux 6.4 / 7.1 (using kernel 3.8.13)</td> </tr> <tr class="even"> <td style="text-align: left;">Solaris</td> ! <td style="text-align: left;">Solaris 11.1 SRU 21.4.1 / 11.2 SRU 5.5</td> </tr> <tr class="odd"> <td style="text-align: left;">macOS</td> ! <td style="text-align: left;">Mac OS X 10.9 (Mavericks) / 10.10 (Yosemite)</td> </tr> <tr class="even"> <td style="text-align: left;">Windows</td> <td style="text-align: left;">Windows Server 2012 R2</td> </tr> </tbody> </table> ! <p>The double version numbers for Linux, Solaris and macOS is due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.</p> <p>The Build Group has a wiki page with <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p> <h3 id="windows">Windows</h3> <p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p> <p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p> <p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin and Windows Subsystem for Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would likely be possible to support in a future version but that would require effort to implement.)</p>
*** 279,305 **** </tr> </thead> <tbody> <tr class="odd"> <td style="text-align: left;">Linux</td> ! <td style="text-align: left;">gcc 8.2.0</td> </tr> <tr class="even"> <td style="text-align: left;">macOS</td> ! <td style="text-align: left;">Apple Xcode 10.1 (using clang 10.0.0)</td> </tr> <tr class="odd"> <td style="text-align: left;">Solaris</td> ! <td style="text-align: left;">Oracle Solaris Studio 12.6 (with compiler version 5.15)</td> </tr> <tr class="even"> <td style="text-align: left;">Windows</td> ! <td style="text-align: left;">Microsoft Visual Studio 2017 update 15.9.6</td> </tr> </tbody> </table> - <p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p> <h3 id="gcc">gcc</h3> <p>The minimum accepted version of gcc is 4.8. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p> <p>The JDK is currently known to be able to compile with at least version 7.4 of gcc.</p> <p>In general, any version between these two should be usable.</p> <h3 id="clang">clang</h3> --- 279,304 ---- </tr> </thead> <tbody> <tr class="odd"> <td style="text-align: left;">Linux</td> ! <td style="text-align: left;">gcc 7.3.0</td> </tr> <tr class="even"> <td style="text-align: left;">macOS</td> ! <td style="text-align: left;">Apple Xcode 9.4 (using clang 9.1.0)</td> </tr> <tr class="odd"> <td style="text-align: left;">Solaris</td> ! <td style="text-align: left;">Oracle Solaris Studio 12.4 (with compiler version 5.13)</td> </tr> <tr class="even"> <td style="text-align: left;">Windows</td> ! <td style="text-align: left;">Microsoft Visual Studio 2017 update 15.5.5</td> </tr> </tbody> </table> <h3 id="gcc">gcc</h3> <p>The minimum accepted version of gcc is 4.8. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p> <p>The JDK is currently known to be able to compile with at least version 7.4 of gcc.</p> <p>In general, any version between these two should be usable.</p> <h3 id="clang">clang</h3>
*** 368,378 **** <pre><code>$ cc -V cc: Sun C 5.13 SunOS_i386 2014/10/20 $ CC -V CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre> <h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3> ! <p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2019. Versions older than 2017 are unlikely to continue working for long.</p> <p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p> <p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p> <h3 id="ibm-xl-cc">IBM XL C/C++</h3> <p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of XLC are supported.</p> <h2 id="boot-jdk-requirements">Boot JDK Requirements</h2> --- 367,377 ---- <pre><code>$ cc -V cc: Sun C 5.13 SunOS_i386 2014/10/20 $ CC -V CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre> <h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3> ! <p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2017. Versions older than 2017 are unlikely to continue working for long.</p> <p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p> <p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p> <h3 id="ibm-xl-cc">IBM XL C/C++</h3> <p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of XLC are supported.</p> <h2 id="boot-jdk-requirements">Boot JDK Requirements</h2>
*** 496,506 **** <li><code>--with-x=&lt;path&gt;</code> - Set the path to <a href="#x11">X11</a></li> <li><code>--with-alsa=&lt;path&gt;</code> - Set the path to <a href="#alsa">ALSA</a></li> <li><code>--with-libffi=&lt;path&gt;</code> - Set the path to <a href="#libffi">libffi</a></li> <li><code>--with-jtreg=&lt;path&gt;</code> - Set the path to JTReg. See <a href="#running-tests">Running Tests</a></li> </ul> ! <p>Certain third-party libraries used by the JDK (libjpeg, giflib, libpng, lcms and zlib) are included in the JDK repository. The default behavior of the JDK build is to use the included (&quot;bundled&quot;) versions of libjpeg, giflib, libpng and lcms. For zlib, the system lib (if present) is used except on Windows and AIX. However the bundled libraries may be replaced by an external version. To do so, specify <code>system</code> as the <code>&lt;source&gt;</code> option in these arguments. (The default is <code>bundled</code>).</p> <ul> <li><code>--with-libjpeg=&lt;source&gt;</code> - Use the specified source for libjpeg</li> <li><code>--with-giflib=&lt;source&gt;</code> - Use the specified source for giflib</li> <li><code>--with-libpng=&lt;source&gt;</code> - Use the specified source for libpng</li> <li><code>--with-lcms=&lt;source&gt;</code> - Use the specified source for lcms</li> --- 495,505 ---- <li><code>--with-x=&lt;path&gt;</code> - Set the path to <a href="#x11">X11</a></li> <li><code>--with-alsa=&lt;path&gt;</code> - Set the path to <a href="#alsa">ALSA</a></li> <li><code>--with-libffi=&lt;path&gt;</code> - Set the path to <a href="#libffi">libffi</a></li> <li><code>--with-jtreg=&lt;path&gt;</code> - Set the path to JTReg. See <a href="#running-tests">Running Tests</a></li> </ul> ! <p>Certain third-party libraries used by the JDK (libjpeg, giflib, libpng, lcms and zlib) are included in the JDK repository. The default behavior of the JDK build is to use this version of these libraries, but they might be replaced by an external version. To do so, specify <code>system</code> as the <code>&lt;source&gt;</code> option in these arguments. (The default is <code>bundled</code>).</p> <ul> <li><code>--with-libjpeg=&lt;source&gt;</code> - Use the specified source for libjpeg</li> <li><code>--with-giflib=&lt;source&gt;</code> - Use the specified source for giflib</li> <li><code>--with-libpng=&lt;source&gt;</code> - Use the specified source for libpng</li> <li><code>--with-lcms=&lt;source&gt;</code> - Use the specified source for lcms</li>
< prev index next >