source: general/prog/openjdk.xml@ f80a458

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since f80a458 was f533b0d, checked in by Bruce Dubbs <bdubbs@…>, 12 years ago

Update to OpenJDJ-1.7.0.9/IcedTea-2.3.3.
Fix minor problem in aalib m4 file.
Fix minor problem when installing docbook xsl docs.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10761 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 37.1 KB
RevLine 
[2c25a56]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[49b50d4]7 <!ENTITY anduin-download "http://anduin.linuxfromscratch.org/files/BLFS/OpenJDK-&openjdk-version;">
8 <!ENTITY openjdk-download-binary-x86 "&anduin-download;/OpenJDK-&openjdk-version;-i686-bin.tar.xz">
[f533b0d]9 <!ENTITY openjdk-bin-md5sum-x86 "d52b7a6b1b0fcc065c661efc22022f86">
10 <!ENTITY openjdk-bin-size-x86 "159 MB">
11 <!ENTITY openjdk-bin-buildsize-x86 "464 MB">
[49b50d4]12
13 <!ENTITY openjdk-download-binary-x64 "&anduin-download;/OpenJDK-&openjdk-version;-x86_64-bin.tar.xz">
[f533b0d]14 <!ENTITY openjdk-bin-md5sum-x64 "d67f23dedd26d8b8fd5c0dd007cd5e37">
15 <!ENTITY openjdk-bin-size-x64 "134 MB">
16 <!ENTITY openjdk-bin-buildsize-x64 "358 MB">
[49b50d4]17
18 <!ENTITY icedtea-download "http://icedtea.classpath.org/download/source/icedtea-&icedtea-version;.tar.gz">
19
[f533b0d]20 <!ENTITY icedtea-md5sum "26a514047494c8697bb97eac10d83bae">
21 <!ENTITY icedtea-size "4.9 MB">
[49b50d4]22
23 <!ENTITY corba-download "&anduin-download;/corba.tar.gz">
[f533b0d]24 <!ENTITY corba-md5sum "be19ef74664ce672417a4ba0f91f3d04">
[49b50d4]25 <!ENTITY corba-size "1.4 MB">
26
27 <!ENTITY hotspot-download "&anduin-download;/hotspot.tar.gz">
[f533b0d]28 <!ENTITY hotspot-md5sum "91dec9320e95b0ab8fe00cfb5389d335">
29 <!ENTITY hotspot-size "9.2 MB">
[49b50d4]30
31 <!ENTITY jaxp-download "&anduin-download;/jaxp.tar.gz">
[f533b0d]32 <!ENTITY jaxp-md5sum "75c2b17d0e37b1a9aa5d913487b7da98">
33 <!ENTITY jaxp-size "3.7 MB">
[49b50d4]34
35 <!ENTITY jaxws-download "&anduin-download;/jaxws.tar.gz">
[f533b0d]36 <!ENTITY jaxws-md5sum "61bdab3bb55e5ab6c12cb3a0daecc199">
[49b50d4]37 <!ENTITY jaxws-size "2.7 MB">
38
39 <!ENTITY jdk-download "&anduin-download;/jdk.tar.gz">
[f533b0d]40 <!ENTITY jdk-md5sum "a2a793aea6d01d00150a78246a29967a">
[49b50d4]41 <!ENTITY jdk-size "43 MB">
42
43 <!ENTITY langtools-download "&anduin-download;/langtools.tar.gz">
[f533b0d]44 <!ENTITY langtools-md5sum "6cc42ee41fd64f531ec4aea256b67495">
[49b50d4]45 <!ENTITY langtools-size "2.3 MB">
46
47 <!ENTITY openjdk-download "&anduin-download;/openjdk.tar.gz">
[f533b0d]48 <!ENTITY openjdk-md5sum "43f1697a104ea383083ef7ce305b4f60">
49 <!ENTITY openjdk-size "128 KB">
[49b50d4]50
51 <!ENTITY rhino-download "ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R3.zip">
52 <!ENTITY rhino-md5sum "99d94103662a8d0b571e247a77432ac5">
53 <!ENTITY rhino-size "4.5 MB">
54
55 <!ENTITY openjdk-buildsize "5.0-7.2 GB">
56 <!ENTITY openjdk-time "45 SBU (an additional 130 SBU for testsuite)">
[2c25a56]57
58]>
59
[49b50d4]60<sect1 id="openjdk" xreflabel="OpenJDK-&openjdk-version;">
61 <?dbhtml filename="openjdk.html" ?>
[2c25a56]62
63 <sect1info>
64 <othername>$LastChangedBy$</othername>
65 <date>$Date$</date>
66 </sect1info>
67
[49b50d4]68 <title>OpenJDK-&openjdk-version;</title>
[2c25a56]69
[49b50d4]70 <indexterm zone="openjdk">
71 <primary sortas="a-OpenJDK">OpenJDK</primary>
[2c25a56]72 </indexterm>
73
74 <sect2 role="package">
[49b50d4]75 <title>Introduction to OpenJDK and IcedTea</title>
[2c25a56]76
[49b50d4]77 <para><application>IcedTea</application> provides a build harness for the
[f533b0d]78 <application>OpenJDK</application> package, Oracle's open-sourced
[2c25a56]79 <application>Java</application> development environment. In order to
80 provide a completely free runtime environment, similar to Oracle's closed
[49b50d4]81 distribution, the <application>IcedTea</application> build harness also
82 provides free, and arguably better versions of parts of the JDK which
83 have not been open-sourced to date. <application>OpenJDK</application> is
[2c25a56]84 useful for developing <application>Java</application> programs and provides
85 a complete runtime environment to run <application>Java</application>
86 programs.</para>
87
[f533b0d]88 &lfs72_checked;
[efd03f7]89
[d3d92c8]90 <note><para>The browser plugin and webstart implementation have been split
[49b50d4]91 off into a separate project. To provide a complete implementation, you will
92 need to later install <xref linkend="icedtea-web"/>.</para></note>
[d3d92c8]93
[49b50d4]94 <para>OpenJDK is GPL'd code, however, it should be explained that there has
95 been a special exception made for non-free projects to use these classes in
96 their proprietary products. In similar fashion to the LGPL, which
[2c25a56]97 allows non-free programs to link to libraries provided by free software,
98 the <ulink url="http://openjdk.java.net/legal/gplv2+ce.html">GNU
99 General Public License, version 2, with the Classpath Exception</ulink>
100 allows third party programs to use classes provided by free software
[4d180035]101 without the requirement that the third party software also be free. As with
102 the LGPL, any modifications made to the free software portions of a
103 third party application, must also be made freely available.</para>
[2c25a56]104
105 <note>
[49b50d4]106 <para>The IcedTea build environment includes a very thorough, open source
[2c25a56]107 test suite titled <application>JTreg</application>.
108 <application>JTreg</application> is intended to test the just built JDK
109 for reasonable compatibility with the closed Oracle JDK. However, in
110 order for an independent implementation to claim compatibility, including
111 the Oracle sponsored <application>OpenJDK</application> project, it must
112 pass a closed <application>JCK/TCK</application> test suite. No claims
113 of compatibility, even partial compatibility, may be made without
114 passing an approved test suite.</para>
115
116 <para>Oracle does provide free community access, on a case by case basis,
117 to a closed toolkit to ensure 100% compatibility with its proprietary JDK.
118 The binary version provided here has not been tested against the
119 <ulink url="http://openjdk.java.net/groups/conformance/JckAccess/jck-access.html">
120 TCK</ulink>. Any version that is built using the instructions given,
121 cannot claim to be compatible with the proprietary JDK, without the user
122 applying for, and completing the compatibility tests themselves.</para>
123
124 <para>With that in mind, the binaries produced using this build method are
125 regularly tested against the TCK by the members listed on the site above.
126 In addition to the community license above, an educational, non-commercial
127 license for the TCK can be obtained from
128 <ulink url="http://www.oracle.com/technetwork/java/index-137188.html">
129 here</ulink>.</para>
130 </note>
131
132 <bridgehead renderas="sect3">Source Package Information</bridgehead>
133 <itemizedlist spacing="compact">
134 <listitem>
[49b50d4]135 <para>IcedTea Source Package
[2c25a56]136 <simplelist>
[49b50d4]137 <member>Download: <ulink url="&icedtea-download;"/></member>
138 <member>Download MD5 sum: &icedtea-md5sum;</member>
139 <member>Download Size: &icedtea-size;</member>
[2c25a56]140 </simplelist>
141 </para>
142 </listitem>
[f533b0d]143 </itemizedlist>
144
145 <para>The following may be downladed separately or be done as a
146 part of the <userinput>make</userinput> process.</para>
147
148 <itemizedlist spacing="compact">
[2c25a56]149 <listitem>
[49b50d4]150 <para>Corba Source
151 <simplelist>
152 <member>Download: <ulink url="&corba-download;"/></member>
153 <member>Download MD5 sum: &corba-md5sum;</member>
154 <member>Download Size: &corba-size;</member>
155 </simplelist>
156 </para>
157 </listitem>
158 <listitem>
159 <para>Hotspot Source
[2c25a56]160 <simplelist>
[49b50d4]161 <member>Download: <ulink url="&hotspot-download;"/></member>
162 <member>Download MD5 sum: &hotspot-md5sum;</member>
163 <member>Download Size: &hotspot-size;</member>
[2c25a56]164 </simplelist>
165 </para>
166 </listitem>
167 <listitem>
[49b50d4]168 <para>IcedTea Build Source
[2c25a56]169 <simplelist>
[49b50d4]170 <member>Download: <ulink url="&openjdk-download;"/></member>
171 <member>Download MD5 sum: &openjdk-md5sum;</member>
172 <member>Download Size: &openjdk-size;</member>
[2c25a56]173 </simplelist>
174 </para>
175 </listitem>
176 <listitem>
177 <para>JAXP Source
178 <simplelist>
[49b50d4]179 <member>Download: <ulink url="&jaxp-download;"/></member>
180 <member>Download MD5 sum: &jaxp-md5sum;</member>
181 <member>Download Size: &jaxp-size;</member>
[2c25a56]182 </simplelist>
183 </para>
184 </listitem>
185 <listitem>
186 <para>JAXWS Source
187 <simplelist>
[49b50d4]188 <member>Download: <ulink url="&jaxws-download;"/></member>
189 <member>Download MD5 sum: &jaxws-md5sum;</member>
190 <member>Download Size: &jaxws-size;</member>
191 </simplelist>
192 </para>
193 </listitem>
194 <listitem>
195 <para>Langtools Source
196 <simplelist>
197 <member>Download: <ulink url="&langtools-download;"/></member>
198 <member>Download MD5 sum: &langtools-md5sum;</member>
199 <member>Download Size: &langtools-size;</member>
200 </simplelist>
201 </para>
202 </listitem>
203 <listitem>
204 <para>OpenJDK Source
205 <simplelist>
206 <member>Download: <ulink url="&jdk-download;"/></member>
207 <member>Download MD5 sum: &jdk-md5sum;</member>
208 <member>Download Size: &jdk-size;</member>
[2c25a56]209 </simplelist>
210 </para>
211 </listitem>
212 <listitem>
[49b50d4]213 <para>Estimated disk space required: &openjdk-buildsize;</para>
[2c25a56]214 </listitem>
215 <listitem>
[49b50d4]216 <para>Estimated build time: &openjdk-time;</para>
[2c25a56]217 </listitem>
218 </itemizedlist>
219
[bc00982]220 <bridgehead renderas="sect3">Binary Package Information</bridgehead>
221 <itemizedlist spacing="compact">
222 <listitem>
223 <para>Binary download (x86):
[49b50d4]224 <ulink url="&openjdk-download-binary-x86;"/></para>
[bc00982]225 </listitem>
226 <listitem>
[49b50d4]227 <para>Download MD5 sum: &openjdk-bin-md5sum-x86;</para>
[bc00982]228 </listitem>
229 <listitem>
[49b50d4]230 <para>Download size (binary): &openjdk-bin-size-x86;</para>
[bc00982]231 </listitem>
232 <listitem>
[49b50d4]233 <para>Estimated disk space required: &openjdk-bin-buildsize-x86;</para>
[bc00982]234 </listitem>
235 </itemizedlist>
236 <itemizedlist spacing="compact">
237 <listitem>
238 <para>Binary download (x86_64):
[49b50d4]239 <ulink url="&openjdk-download-binary-x64;"/></para>
[bc00982]240 </listitem>
241 <listitem>
[49b50d4]242 <para>Download MD5 sum: &openjdk-bin-md5sum-x64;</para>
[bc00982]243 </listitem>
244 <listitem>
[49b50d4]245 <para>Download size (binary): &openjdk-bin-size-x64;</para>
[bc00982]246 </listitem>
247 <listitem>
[49b50d4]248 <para>Estimated disk space required: &openjdk-bin-buildsize-x64;</para>
[bc00982]249 </listitem>
250 </itemizedlist>
251
[2c25a56]252 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
253
254 <bridgehead renderas="sect4">Required Patches</bridgehead>
255 <itemizedlist spacing='compact'>
256 <listitem>
257 <para><ulink
[23f4a9a]258 url="&patch-root;/icedtea-&icedtea-version;-add_cacerts-1.patch"/></para>
[2c25a56]259 </listitem>
260 <listitem>
261 <para><ulink
[49b50d4]262 url="&patch-root;/icedtea-&icedtea-version;-fixed_paths-1.patch"/></para>
[2c25a56]263 </listitem>
264 <listitem>
265 <para><ulink
[dc6bfc3b]266 url="&patch-root;/icedtea-&icedtea-version;-fix_tests-1.patch"/></para>
[2c25a56]267 </listitem>
268 </itemizedlist>
269
[dc6bfc3b]270 <bridgehead renderas="sect4">Required JAR</bridgehead>
[2c25a56]271 <itemizedlist spacing='compact'>
272 <listitem>
273 <para>Rhino Java Script
274 <simplelist>
[49b50d4]275 <member>Download: <ulink url="&rhino-download;"/></member>
276 <member>Download MD5 sum: &rhino-md5sum;</member>
277 <member>Download Size: &rhino-size;</member>
[2c25a56]278 </simplelist>
279 </para>
280 </listitem>
281 </itemizedlist>
[49b50d4]282 <bridgehead renderas="sect3">OpenJDK Dependencies</bridgehead>
[bc00982]283
[2c25a56]284 <bridgehead renderas="sect4">Optional Runtime Dependencies (required for
285 source installation)</bridgehead>
286 <para role="optional">
[49b50d4]287 <xref linkend="cacerts"/>,
[de930747]288 <xref linkend="cups"/>,
[49b50d4]289 <xref linkend="gtk3"/>,
290 <xref linkend="giflib"/>,
291 <xref linkend="pulseaudio"/>,
[de930747]292 <xref linkend="xorg7-lib"/> and
[f533b0d]293 <xref linkend="nspr"/>.
[de930747]294 </para>
[2c25a56]295
296 <bridgehead renderas="sect4">Additional Requirements
297 (for source build, including optional requirements)</bridgehead>
298 <para role="required">
299 <xref linkend="apache-ant"/>,
[49b50d4]300 <xref linkend="cpio"/>,
[2c25a56]301 <xref linkend="unzip"/>,
[f533b0d]302 <xref linkend="wget"/>,
[2c25a56]303 <xref linkend="which"/>, and
304 <xref linkend="zip"/></para>
305
306 <para condition="html" role="usernotes">User Notes:
[49b50d4]307 <ulink url="&blfs-wiki;/openjdk"/></para>
[2c25a56]308
309 </sect2>
310
311 <sect2 role="installation">
[49b50d4]312 <title>Installation of OpenJDK</title>
[2c25a56]313
314 <para>The instructions below install both the binary and source versions.
315 You may stop after installing the binary version or continue on installing
316 the source version. You can choose to keep either or both.</para>
317
[49b50d4]318 <bridgehead renderas="sect3">OpenJDK Binary Installation</bridgehead>
[bc00982]319 <para>Begin by extracting the appropriate binary tarball and changing to
[4d180035]320 the extracted directory. Install the binary
[49b50d4]321 <application>OpenJDK</application> with the following commands as the
[bc00982]322 <systemitem class="username">root</systemitem> user:</para>
[2c25a56]323
[49b50d4]324<screen role="root"><userinput>install -vdm755 /opt/OpenJDK-&openjdk-version;-bin &amp;&amp;
[dc6bfc3b]325mv -v * /opt/OpenJDK-&openjdk-version;-bin &amp;&amp;
[49b50d4]326chown -R root:root /opt/OpenJDK-&openjdk-version;-bin</userinput></screen>
[2c25a56]327
[49b50d4]328 <para>Configure the temporary <application>OpenJDK</application>
[2c25a56]329 installation with the following commands:</para>
330
[f533b0d]331<screen><userinput>export CLASSPATH=.:/usr/share/java &amp;&amp;
332export PATH="PATH:/opt/OpenJDK-&openjdk-version;-bin/bin</userinput></screen>
[2c25a56]333
[bc00982]334 <para>The binary version is now installed. If you don't want to compile the
335 sources, skip ahead to the configuration section.</para>
[2c25a56]336
[49b50d4]337 <bridgehead renderas="sect3">OpenJDK Source Installation</bridgehead>
338 <note><para>The source build of OpenJDK requires
[2c25a56]339 <xref linkend="apache-ant"/>. You'll need to build that first to satisfy
[f533b0d]340 the circular dependency, and return to this section to continue building
[49b50d4]341 OpenJDK.</para></note>
[2c25a56]342
[49b50d4]343 <para>Unlike other packages in BLFS, the <application>OpenJDK</application>
344 source packages are distributed in multiple downloads. Since the IcedTea
[4d180035]345 build harness will be used to build <application>OpenJDK</application>,
[49b50d4]346 begin by extracting the IcedTea package and changing into the
[4d180035]347 extracted directory.</para>
[bc00982]348
[4d180035]349 <para>The IcedTea <application>OpenJDK</application> distribution requires
[49b50d4]350 that <filename>js.jar</filename> (from the Rhino package) be in place in
351 order to provide a java-script implementation for the free JDK. If you have
352 not installed the js.jar file in another way, do so with the following
353 commands as the <systemitem class="username">root</systemitem> user:</para>
[2c25a56]354
[23f4a9a]355<screen role="root"><userinput>unzip ../rhino1_7R3.zip &amp;&amp;
[2c25a56]356install -v -d -m755 /usr/share/java &amp;&amp;
[49b50d4]357install -v -m755 rhino1_7R3/*.jar /usr/share/java</userinput></screen>
358
359 <para>As mentioned previously, <application>OpenJDK</application> is
360 composed of several individual projects of the proprietary
361 <application>JDK</application> that have been relicensed under an open
[f533b0d]362 source license. If you have already downoaded all of the individual
363 components, place them into the source tree with the following commands:</para>
[49b50d4]364
[efd03f7]365<screen><userinput>cp -v ../corba.tar.gz . &amp;&amp;
366cp -v ../hotspot.tar.gz . &amp;&amp;
367cp -v ../jaxp.tar.gz . &amp;&amp;
368cp -v ../jaxws.tar.gz . &amp;&amp;
369cp -v ../jdk.tar.gz . &amp;&amp;
[49b50d4]370cp -v ../langtools.tar.gz . &amp;&amp;
[efd03f7]371cp -v ../openjdk.tar.gz .</userinput></screen>
[2c25a56]372
373 <para>Apply a patch to generate a valid cacerts file using the system CA
374 certificates:</para>
375
[23f4a9a]376<screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-add_cacerts-1.patch</userinput></screen>
[bc00982]377
378 <para>Apply a patch to replace fixed paths with ones appropriate for
379 BLFS:</para>
380
[49b50d4]381<screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fixed_paths-1.patch</userinput></screen>
382
383 <para>Apply a patch to exclude known broken tests from the test suite:</para>
384
385<screen><userinput>patch -Np1 -i ../icedtea-&icedtea-version;-fix_tests-1.patch</userinput></screen>
386
[bc00982]387
[2c25a56]388 <para>Configure and build the package with the following commands:</para>
389
390<screen><userinput>unset JAVA_HOME &amp;&amp;
391./autogen.sh &amp;&amp;
[49b50d4]392./configure --with-jdk-home=/opt/OpenJDK-&openjdk-version;-bin \
393 --enable-nss \
394 --enable-pulse-java &amp;&amp;
[2c25a56]395make</userinput></screen>
396
[f533b0d]397 <note><para>If you have not installed the tarballs specified above,
398 they will be automatically downloaded here.</para></note>
399
[49b50d4]400 <para>To test the results, issue: <command>make jtregcheck</command>. The
[bc00982]401 included version of <application>jtreg</application> is old, and the test
[49b50d4]402 suite is also very dependent on the host system and the environment that it
[f533b0d]403 is run in. You should expect to see anywhere between 40 and 100 failures in
404 jdk with up to 10 errors in the tests themselves. The majority of the
405 6000+ tests should pass. The reason for the greatly varying results is due
406 to how stringent the testing environment must be. Varying architectures,
407 different versions of dependent libraries, unexpected X Window environment
408 and window managers, the CA certificates used to generate the
409 <filename>cacerts</filename> file, and even any user input or power
410 management or screen saver interruptions during the testing can lead to
411 various failures. While the known broken tests have been removed, with the
412 fix_tests patch above, the graphics tests failures cannot be pre-determined
413 (short of removing them all). The best bet for the minimal number of
414 failures is to run the test suite in a framebuffer on a different screen
415 (Xvfb). Even still, Disk I/O can cause failures.</para>
[2c25a56]416
417 <para>Install the package with the following commands as the
418 <systemitem class="username">root</systemitem> user:</para>
419
[f533b0d]420<screen role="root"><userinput>chmod 0644 openjdk.build/j2sdk-image/lib/sa-jdi.jar &amp;&amp;
421cp -R openjdk.build/j2sdk-image /opt/OpenJDK-&openjdk-version; &amp;&amp;
[49b50d4]422chown -R root:root /opt/OpenJDK-&openjdk-version;</userinput></screen>
[2c25a56]423
424 </sect2>
425
426 <sect2 role="commands">
427 <title>Command Explanations</title>
428
429 <para><command>./autogen.sh</command>: This command forces rebuilding of
430 auto-generated files to account for new options added to
431 <filename>configure</filename>.</para>
432
433 <para><parameter>--with-jdk-home</parameter>: This switch provides the
[d3d92c8]434 location of the temporary <application>JDK</application>.</para>
[2c25a56]435
[23f4a9a]436 <para><parameter>--enable-pulse-java</parameter>: This switch enables
[49b50d4]437 building of the pulseaudio libraries (needed to provide a complete
438 implementation that is reasonably compatible with the proprietary
439 JDK).</para>
[d3d92c8]440
[f533b0d]441 <para><command>chmod -v 0644 ...sa-jdi.jar</command>: Fix permissions
442 in a generated file so all users can access it.</para>
443
[2c25a56]444 </sect2>
445
446 <sect2 role="configuration">
[49b50d4]447 <title>Configuring OpenJDK</title>
[2c25a56]448
449 <sect3>
450 <title>Configuration Information</title>
451
[49b50d4]452 <para>There are now two <application>OpenJDK</application> SDKs
[2c25a56]453 installed in <filename>/opt</filename>. You should decide on which one
454 you would like to use as the default. For example if you decide to use
[49b50d4]455 the precompiled <application>OpenJDK</application>, do the following as
[2c25a56]456 the <systemitem class="username">root</systemitem> user:</para>
457
[f533b0d]458<screen role="root"><userinput>ln -v -nsf OpenJDK-&openjdk-version;-bin /opt/jdk</userinput></screen>
[2c25a56]459
[f533b0d]460 <para>The information below assumes your system is set up using the
461 instructions found in <quote><xref
462 linkend="postlfs-config-profile"/></quote>. You may need to extract the
463 relevant information below and incorporate it into your system's startup
464 files if your system is set up differently.</para>
[2c25a56]465
[f533b0d]466 <para>Add the following <filename>openjdk.sh</filename> shell startup
467 file to the <filename>/etc/profile.d</filename> directory with the
468 following commands as the <systemitem class="username">root</systemitem>
469 user:</para>
[2c25a56]470
[49b50d4]471<screen role="root"><userinput>cat &gt; /etc/profile.d/openjdk.sh &lt;&lt; "EOF"
472<literal># Begin /etc/profile.d/openjdk.sh
[2c25a56]473
474# Set JAVA_HOME directory
[f533b0d]475JAVA_HOME=/opt/jdk
[2c25a56]476
477# Adjust PATH
[f533b0d]478pathappend $JAVA_HOME/bin PATH
[2c25a56]479
480# Auto Java CLASSPATH
481# Copy jar files to, or create symlinks in this directory
[f533b0d]482
[2c25a56]483AUTO_CLASSPATH_DIR=/usr/share/java
[f533b0d]484
[2c25a56]485pathprepend . CLASSPATH
[f533b0d]486
[2c25a56]487for dir in `find ${AUTO_CLASSPATH_DIR} -type d 2>/dev/null`; do
488 pathappend $dir CLASSPATH
489done
[f533b0d]490
[49b50d4]491for jar in `find ${AUTO_CLASSPATH_DIR} -name "*.jar" 2>/dev/null`; do
492 pathappend $jar CLASSPATH
493done
[2c25a56]494
495export JAVA_HOME CLASSPATH
[f533b0d]496unset AUTO_CLASSPATH_DIR dir jar
[2c25a56]497
[49b50d4]498# End /etc/profile.d/openjdk.sh</literal>
[2c25a56]499EOF</userinput></screen>
500
[49b50d4]501 <para>Finally, add the man pages to <application>man_db</application>'s
502 configuration. As the <systemitem class="username">root</systemitem>
503 user:</para>
[2c25a56]504
[49b50d4]505<screen><userinput>cat &gt;&gt; /etc/man_db.conf &lt;&lt; "EOF" &amp;&amp;
[f533b0d]506<literal>MANDATORY_MANPATH /opt/jdk/man
507MANPATH_MAP /opt/jdk/bin /opt/jdk/man
508MANDB_MAP /opt/jdk/man /var/cache/man/jdk</literal>
[49b50d4]509EOF
510mandb -c /opt/OpenJDK/man</userinput></screen>
[2c25a56]511
512 </sect3>
513
514 </sect2>
515
516 <sect2 role="content">
517 <title>Contents</title>
518
519 <segmentedlist>
520 <segtitle>Installed Programs</segtitle>
521 <segtitle>Installed Libraries</segtitle>
522 <segtitle>Installed Directory</segtitle>
523
524 <seglistitem>
[49b50d4]525 <seg>appletviewer, apt, extcheck, idlj, jar,
[2c25a56]526 jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi,
[49b50d4]527 jcmd, jconsole, jdb, jhat, jinfo, jmap, jps,
[2c25a56]528 jrunscript, jsadebugd, jstack, jstat, jstatd, keytool,
529 native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry,
530 schemagen, serialver, servertool, tnameserv, unpack200,
531 wsgen, wsimport, and xjc</seg>
[4d180035]532 <seg>/opt/OpenJDK-&openjdk-version;/lib/*, and
533 /opt/OpenJDK-&openjdk-version;/jre/lib/*</seg>
534 <seg>/opt/OpenJDK-&openjdk-version;</seg>
[2c25a56]535 </seglistitem>
536 </segmentedlist>
537
538 <variablelist>
539 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
540 <?dbfo list-presentation="list"?>
541 <?dbhtml list-presentation="table"?>
542
[49b50d4]543 <varlistentry id="appletviewer">
544 <term><command>appletviewer</command></term>
545 <listitem>
546 <para>allows you to run applets outside of a web browser.</para>
547 <indexterm zone="openjdk appletviewer">
548 <primary sortas="b-appletviewer">appletviewer</primary>
549 </indexterm>
550 </listitem>
551 </varlistentry>
552
553 <varlistentry id="apt">
[2c25a56]554 <term><command>apt</command></term>
555 <listitem>
556 <para>is an annotation processing tool.</para>
[49b50d4]557 <indexterm zone="openjdk apt">
[2c25a56]558 <primary sortas="b-apt">apt</primary>
559 </indexterm>
560 </listitem>
561 </varlistentry>
562
[49b50d4]563 <varlistentry id="extcheck">
[2c25a56]564 <term><command>extcheck</command></term>
565 <listitem>
566 <para>checks a specified jar file for title and version conflicts
[49b50d4]567 with any extensions installed in the
568 <application>OpenJDK</application> software.</para>
569 <indexterm zone="openjdk extcheck">
[2c25a56]570 <primary sortas="b-extcheck">extcheck</primary>
571 </indexterm>
572 </listitem>
573 </varlistentry>
574
[49b50d4]575 <varlistentry id="idlj">
[2c25a56]576 <term><command>idlj</command></term>
577 <listitem>
578 <para>generates Java bindings from a given IDL file.</para>
[49b50d4]579 <indexterm zone="openjdk idlj">
[2c25a56]580 <primary sortas="b-idlj">idlj</primary>
581 </indexterm>
582 </listitem>
583 </varlistentry>
584
[49b50d4]585 <varlistentry id="jar">
[2c25a56]586 <term><command>jar</command></term>
587 <listitem>
588 <para>combines multiple files into a single jar archive.</para>
[49b50d4]589 <indexterm zone="openjdk jar">
[2c25a56]590 <primary sortas="b-jar">jar</primary>
591 </indexterm>
592 </listitem>
593 </varlistentry>
594
[49b50d4]595 <varlistentry id="jarsigner">
[2c25a56]596 <term><command>jarsigner</command></term>
597 <listitem>
598 <para>signs jar files and verifies the signatures and integrity
599 of a signed jar file.</para>
[49b50d4]600 <indexterm zone="openjdk jarsigner">
[2c25a56]601 <primary sortas="b-jarsigner">jarsigner</primary>
602 </indexterm>
603 </listitem>
604 </varlistentry>
605
[49b50d4]606 <varlistentry id="java">
[2c25a56]607 <term><command>java</command></term>
608 <listitem>
609 <para>launches a Java application by starting a Java runtime
610 environment, loading a specified class and invoking its main
611 method.</para>
[49b50d4]612 <indexterm zone="openjdk java">
[2c25a56]613 <primary sortas="b-java">java</primary>
614 </indexterm>
615 </listitem>
616 </varlistentry>
617
[49b50d4]618 <varlistentry id="javac">
[2c25a56]619 <term><command>javac</command></term>
620 <listitem>
621 <para>reads class and interface definitions, written in the
622 Java programming language, and compiles them into bytecode
623 class files.</para>
[49b50d4]624 <indexterm zone="openjdk javac">
[2c25a56]625 <primary sortas="b-javac">javac</primary>
626 </indexterm>
627 </listitem>
628 </varlistentry>
629
[49b50d4]630 <varlistentry id="javadoc">
[2c25a56]631 <term><command>javadoc</command></term>
632 <listitem>
633 <para>parses the declarations and documentation comments in a
634 set of Java source files and produces a corresponding set of
635 HTML pages describing the classes, interfaces,constructors,
636 methods, and fields.</para>
[49b50d4]637 <indexterm zone="openjdk javadoc">
[2c25a56]638 <primary sortas="b-javadoc">javadoc</primary>
639 </indexterm>
640 </listitem>
641 </varlistentry>
642
[49b50d4]643 <varlistentry id="javah">
[2c25a56]644 <term><command>javah</command></term>
645 <listitem>
646 <para>generates C header and source files
647 that are needed to implement native methods.</para>
[49b50d4]648 <indexterm zone="openjdk javah">
[2c25a56]649 <primary sortas="b-javah">javah</primary>
650 </indexterm>
651 </listitem>
652 </varlistentry>
653
[49b50d4]654 <varlistentry id="javap">
[2c25a56]655 <term><command>javap</command></term>
656 <listitem>
657 <para>disassembles a Java class file.</para>
[49b50d4]658 <indexterm zone="openjdk javap">
[2c25a56]659 <primary sortas="b-javap">javap</primary>
660 </indexterm>
661 </listitem>
662 </varlistentry>
663
[49b50d4]664 <varlistentry id="java-rmi.cgi">
[2c25a56]665 <term><command>java-rmi.cgi</command></term>
666 <listitem>
667 <para>is the Java RMI client.</para>
[49b50d4]668 <indexterm zone="openjdk java-rmi.cgi">
[2c25a56]669 <primary sortas="b-java-rmi.cgi">java-rmi.cgi</primary>
670 </indexterm>
671 </listitem>
672 </varlistentry>
673
[49b50d4]674 <varlistentry id="jcmd">
675 <term><command>jcmd</command></term>
676 <listitem>
677 <para>is a utility to send diagnostic command requests to a running
678 Java Virtual Machine.</para>
679 <indexterm zone="openjdk jcmd">
680 <primary sortas="b-jcmd">jcmd</primary>
681 </indexterm>
682 </listitem>
683 </varlistentry>
684
685 <varlistentry id="jconsole">
[2c25a56]686 <term><command>jconsole</command></term>
687 <listitem>
688 <para>is a graphical console tool to monitor and manage both
689 local and remote Java applications and virtual machines.</para>
[49b50d4]690 <indexterm zone="openjdk jconsole">
[2c25a56]691 <primary sortas="b-jconsole">jconsole</primary>
692 </indexterm>
693 </listitem>
694 </varlistentry>
695
[49b50d4]696 <varlistentry id="jdb">
[2c25a56]697 <term><command>jdb</command></term>
698 <listitem>
699 <para>is a simple command-line debugger for Java classes.</para>
[49b50d4]700 <indexterm zone="openjdk jdb">
[2c25a56]701 <primary sortas="b-jdb">jdb</primary>
702 </indexterm>
703 </listitem>
704 </varlistentry>
705
[49b50d4]706 <varlistentry id="jhat">
[2c25a56]707 <term><command>jhat</command></term>
708 <listitem>
709 <para>parses a java heap dump file and allows viewing
[4d180035]710 in a web browser.</para>
[49b50d4]711 <indexterm zone="openjdk jhat">
[2c25a56]712 <primary sortas="b-jhat">jhat</primary>
713 </indexterm>
714 </listitem>
715 </varlistentry>
716
[49b50d4]717 <varlistentry id="jinfo">
[2c25a56]718 <term><command>jinfo</command></term>
719 <listitem>
720 <para>prints Java configuration information for a given Java
721 process, core file, or a remote debug server.</para>
[49b50d4]722 <indexterm zone="openjdk jinfo">
[2c25a56]723 <primary sortas="b-jinfo">jinfo</primary>
724 </indexterm>
725 </listitem>
726 </varlistentry>
727
[49b50d4]728 <varlistentry id="jmap">
[2c25a56]729 <term><command>jmap</command></term>
730 <listitem>
731 <para>prints shared object memory maps or heap memory details
732 of a given process, core file, or a remote debug server.</para>
[49b50d4]733 <indexterm zone="openjdk jmap">
[2c25a56]734 <primary sortas="b-jmap">jmap</primary>
735 </indexterm>
736 </listitem>
737 </varlistentry>
738
[49b50d4]739 <varlistentry id="jps">
[2c25a56]740 <term><command>jps</command></term>
741 <listitem>
742 <para>lists the instrumented JVMs on the target system.</para>
[49b50d4]743 <indexterm zone="openjdk jps">
[2c25a56]744 <primary sortas="b-jps">jps</primary>
745 </indexterm>
746 </listitem>
747 </varlistentry>
748
[49b50d4]749 <varlistentry id="jrunscript">
[2c25a56]750 <term><command>jrunscript</command></term>
751 <listitem>
752 <para>is a command line script shell.</para>
[49b50d4]753 <indexterm zone="openjdk jrunscript">
[2c25a56]754 <primary sortas="b-jrunscript">jrunscript</primary>
755 </indexterm>
756 </listitem>
757 </varlistentry>
758
[49b50d4]759 <varlistentry id="jsadebugd">
[2c25a56]760 <term><command>jsadebugd</command></term>
761 <listitem>
762 <para>attaches to a Java process or core file and acts as a
763 debug server.</para>
[49b50d4]764 <indexterm zone="openjdk jsadebugd">
[2c25a56]765 <primary sortas="b-jsadebugd">jsadebugd</primary>
766 </indexterm>
767 </listitem>
768 </varlistentry>
769
[49b50d4]770 <varlistentry id="jstack">
[2c25a56]771 <term><command>jstack</command></term>
772 <listitem>
773 <para>prints Java stack traces of Java threads for a given
774 Java process, core file, or a remote debug server.</para>
[49b50d4]775 <indexterm zone="openjdk jstack">
[2c25a56]776 <primary sortas="b-jstack">jstack</primary>
777 </indexterm>
778 </listitem>
779 </varlistentry>
780
[49b50d4]781 <varlistentry id="jstat">
[2c25a56]782 <term><command>jstat</command></term>
783 <listitem>
784 <para>displays performance statistics for an instrumented JVM.</para>
[49b50d4]785 <indexterm zone="openjdk jstat">
[2c25a56]786 <primary sortas="b-jstat">jstat</primary>
787 </indexterm>
788 </listitem>
789 </varlistentry>
790
[49b50d4]791 <varlistentry id="jstatd">
[2c25a56]792 <term><command>jstatd</command></term>
793 <listitem>
794 <para>is an RMI server application that monitors for the creation
795 and termination of instrumented JVMs.</para>
[49b50d4]796 <indexterm zone="openjdk jstatd">
[2c25a56]797 <primary sortas="b-jstatd">jstatd</primary>
798 </indexterm>
799 </listitem>
800 </varlistentry>
801
[49b50d4]802 <varlistentry id="keytool">
[2c25a56]803 <term><command>keytool</command></term>
804 <listitem>
805 <para>is a key and certificate management utility.</para>
[49b50d4]806 <indexterm zone="openjdk keytool">
[2c25a56]807 <primary sortas="b-keytool">keytool</primary>
808 </indexterm>
809 </listitem>
810 </varlistentry>
811
[49b50d4]812 <varlistentry id="native2ascii">
[2c25a56]813 <term><command>native2ascii</command></term>
814 <listitem>
815 <para> converts files that contain non-supported character encoding
816 into files containing Latin-1 or Unicode-encoded characters.</para>
[49b50d4]817 <indexterm zone="openjdk native2ascii">
[2c25a56]818 <primary sortas="b-native2ascii">native2ascii</primary>
819 </indexterm>
820 </listitem>
821 </varlistentry>
822
[49b50d4]823 <varlistentry id="orbd">
[2c25a56]824 <term><command>orbd</command></term>
825 <listitem>
826 <para>is used to enable clients to transparently locate and invoke
827 persistent objects on servers in the CORBA environment.</para>
[49b50d4]828 <indexterm zone="openjdk orbd">
[2c25a56]829 <primary sortas="b-orbd">orbd</primary>
830 </indexterm>
831 </listitem>
832 </varlistentry>
833
[49b50d4]834 <varlistentry id="pack200">
[2c25a56]835 <term><command>pack200</command></term>
836 <listitem>
837 <para>is a Java application that transforms a jar file into a
838 compressed pack200 file using the Java gzip compressor.</para>
[49b50d4]839 <indexterm zone="openjdk pack200">
[2c25a56]840 <primary sortas="b-pack200">pack200</primary>
841 </indexterm>
842 </listitem>
843 </varlistentry>
844
[49b50d4]845 <varlistentry id="policytool">
[2c25a56]846 <term><command>policytool</command></term>
847 <listitem>
848 <para>creates and manages a policy file graphically.</para>
[49b50d4]849 <indexterm zone="openjdk policytool">
[2c25a56]850 <primary sortas="b-policytool">policytool</primary>
851 </indexterm>
852 </listitem>
853 </varlistentry>
854
[49b50d4]855 <varlistentry id="rmic">
[2c25a56]856 <term><command>rmic</command></term>
857 <listitem>
858 <para>generates stub and skeleton class files for remote objects
859 from the names of compiled Java classes that contain remote
860 object implementations.</para>
[49b50d4]861 <indexterm zone="openjdk rmic">
[2c25a56]862 <primary sortas="b-rmic">rmic</primary>
863 </indexterm>
864 </listitem>
865 </varlistentry>
866
[49b50d4]867 <varlistentry id="rmid">
[2c25a56]868 <term><command>rmid</command></term>
869 <listitem>
870 <para>starts the activation system daemon.</para>
[49b50d4]871 <indexterm zone="openjdk rmid">
[2c25a56]872 <primary sortas="b-rmid">rmid</primary>
873 </indexterm>
874 </listitem>
875 </varlistentry>
876
[49b50d4]877 <varlistentry id="rmiregistry">
[2c25a56]878 <term><command>rmiregistry</command></term>
879 <listitem>
880 <para>creates and starts a remote object registry on the specified
881 port on the current host.</para>
[49b50d4]882 <indexterm zone="openjdk rmiregistry">
[2c25a56]883 <primary sortas="b-rmiregistry">rmiregistry</primary>
884 </indexterm>
885 </listitem>
886 </varlistentry>
887
[49b50d4]888 <varlistentry id="schemagen">
[2c25a56]889 <term><command>schemagen</command></term>
890 <listitem>
891 <para>is a Java XML binding schema generator.</para>
[49b50d4]892 <indexterm zone="openjdk schemagen">
[2c25a56]893 <primary sortas="b-schemagen">schemagen</primary>
894 </indexterm>
895 </listitem>
896 </varlistentry>
897
[49b50d4]898 <varlistentry id="serialver">
[2c25a56]899 <term><command>serialver</command></term>
900 <listitem>
901 <para>returns the serialVersionUID for one or more classes in a
902 form suitable for copying into an evolving class.</para>
[49b50d4]903 <indexterm zone="openjdk serialver">
[2c25a56]904 <primary sortas="b-serialver">serialver</primary>
905 </indexterm>
906 </listitem>
907 </varlistentry>
908
[49b50d4]909 <varlistentry id="servertool">
[2c25a56]910 <term><command>servertool</command></term>
911 <listitem>
912 <para>provides an ease-of-use interface for application programmers
913 to register, unregister, startup and shutdown a server.</para>
[49b50d4]914 <indexterm zone="openjdk servertool">
[2c25a56]915 <primary sortas="b-servertool">servertool</primary>
916 </indexterm>
917 </listitem>
918 </varlistentry>
919
[49b50d4]920 <varlistentry id="tnameserv">
[2c25a56]921 <term><command>tnameserv</command></term>
922 <listitem>
923 <para>starts the Java IDL name server.</para>
[49b50d4]924 <indexterm zone="openjdk tnameserv">
[2c25a56]925 <primary sortas="b-tnameserv">tnameserv</primary>
926 </indexterm>
927 </listitem>
928 </varlistentry>
929
[49b50d4]930 <varlistentry id="unpack200">
[2c25a56]931 <term><command>unpack200</command></term>
932 <listitem>
933 <para>is a native implementation that transforms a packed file
934 produced by <application>pack200</application> into a jar
935 file.</para>
[49b50d4]936 <indexterm zone="openjdk unpack200">
[2c25a56]937 <primary sortas="b-unpack200">unpack200</primary>
938 </indexterm>
939 </listitem>
940 </varlistentry>
941
[49b50d4]942 <varlistentry id="wsgen">
[2c25a56]943 <term><command>wsgen</command></term>
944 <listitem>
945 <para>generates JAX-WS portable artifacts used in JAX-WS
946 web services.</para>
[49b50d4]947 <indexterm zone="openjdk wsgen">
[2c25a56]948 <primary sortas="b-wsgen">wsgen</primary>
949 </indexterm>
950 </listitem>
951 </varlistentry>
952
[49b50d4]953 <varlistentry id="wsimport">
[2c25a56]954 <term><command>wsimport</command></term>
955 <listitem>
956 <para>generates JAX-WS portable artifacts.</para>
[49b50d4]957 <indexterm zone="openjdk wsimport">
[2c25a56]958 <primary sortas="b-wsimport">wsimport</primary>
959 </indexterm>
960 </listitem>
961 </varlistentry>
962
[49b50d4]963 <varlistentry id="xjc">
[2c25a56]964 <term><command>xjc</command></term>
965 <listitem>
966 <para>is a Java XML binding compiler.</para>
[49b50d4]967 <indexterm zone="openjdk xjc">
[2c25a56]968 <primary sortas="b-xjc">xjc</primary>
969 </indexterm>
970 </listitem>
971 </varlistentry>
972
973 </variablelist>
974
975 </sect2>
976
977</sect1>
Note: See TracBrowser for help on using the repository browser.