Changeset 4378f935


Ignore:
Timestamp:
05/05/2005 04:34:18 PM (17 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
10.0, 10.1, 11.0, 6.1, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 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, ken/refactor-virt, krejzi/svn, lazarus, nosym, perl-modules, qt5new, systemd-11177, systemd-13485, trunk, upgradedb, xry111/git-date, xry111/git-date-for-trunk, xry111/git-date-test
Children:
0c5fbf2
Parents:
12180381
Message:

Tagged jdk.xml

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • general/prog/jdk.xml

    r12180381 r4378f935  
    1616
    1717<sect1 id="jdk" xreflabel="JDK-&jdk-src-version;">
    18 <sect1info>
    19 <othername>$LastChangedBy$</othername>
    20 <date>$Date$</date>
    21 </sect1info>
    22 <?dbhtml filename="jdk.html" ?>
    23 <title><application>JDK</application>-&jdk-src-version;</title>
    24 <indexterm zone="jdk">
    25 <primary sortas="a-JDK">JDK</primary>
    26 </indexterm>
    27 
    28 <sect2>
    29 <title>Introduction to
    30 <application>JDK</application></title>
    31 
    32 <para>The <application>JDK</application> package contains
    33 Sun's <application>Java</application> development environment. This is useful
    34 for developing <application>Java</application> programs and provides the
    35 runtime environment necessary to run <application>Java</application> programs.
    36 It also includes a plug-in for browsers so that they can be
    37 <application>Java</application> aware.</para>
    38 
    39 <para>The <acronym>JDK</acronym> comes in two flavors, a precompiled binary
    40 and a source package. Previously, the plugin included in the
    41 <acronym>JDK</acronym> binary package was unusable on <acronym>LFS</acronym>
    42 owing to incompatibilities with <acronym>GCC</acronym>-3 compiled browsers.
    43 This is not the case anymore.</para>
    44 
    45 <para>In order to use the source code and patches, you must read and agree
    46 to the Sun <ulink url="http://java.sun.com/j2se/1.5.0/jrl_5.0-license.txt">
    47 Java Research License</ulink>. In addition, the source code cannot be
    48 downloaded from some countries, so for users from those countries, the binary
    49 is the only option.</para>
    50 
    51 <para>If you plan on compiling the <acronym>JDK</acronym> source, you
    52 will still need to download the binary version to bootstrap the
    53 <acronym>JDK</acronym> build.  You will need to download a total of four
    54 files to complete the source build: 
    55 <filename>jdk-1_5_0_02-linux-i586.bin</filename>;
    56 <filename>jdk-1_5_0-src-jrl.zip</filename>;
    57 <filename>jdk-1_5_0-bin-jrl.zip</filename>;
    58 and <filename>jdk-1_5_0-mozilla_headers-unix.zip</filename>.</para>
    59 
    60 <sect3><title>Package information</title>
    61 <itemizedlist spacing='compact'>
    62 <listitem><para>Binary download:
    63 <ulink url="&jdk-download-binary;"/></para></listitem>
    64 <listitem><para>Version used (binary):
    65 &jdk-bin-version;</para></listitem>
    66 <listitem><para>Download MD5 sum (binary):
    67 &jdk-bin-md5sum;</para></listitem>
    68 <listitem><para>Source download:
    69 <ulink url="&jdk-download-source;"/></para></listitem>
    70 <listitem><para>Download MD5 sum (source):
    71 <ulink url="&jdk-source-md5sum;"/></para></listitem>
    72 <listitem><para>Download size (binary):
    73 &jdk-bin-size;</para></listitem>
    74 <listitem><para>Download size (source):
    75 &jdk-src-size;</para></listitem>
    76 <listitem><para>Estimated disk space required:
    77 &jdk-src-buildsize;</para></listitem>
    78 <listitem><para>Estimated build time:
    79 &jdk-time;</para></listitem></itemizedlist>
    80 </sect3>
    81 
    82 <sect3><title>Required Patches</title>
    83 <itemizedlist spacing='compact'>
    84 <listitem><para><ulink
    85 url="&patch-root;/jdk-&jdk-src-version;-gcc_3.4.2+-3.patch"/></para>
    86 </listitem>
    87 <listitem><para><ulink
    88 url="&patch-root;/jdk-&jdk-src-version;-motif_mkmsgcat-1.patch"/></para>
    89 </listitem>
    90 <listitem><para><ulink
    91 url="&patch-root;/jdk-&jdk-src-version;-nptl-1.patch"/></para></listitem>
    92 <listitem><para><ulink
    93 url="&patch-root;/jdk-&jdk-src-version;-remove_broken_demo-1.patch"/></para>
    94 </listitem>
    95 <listitem><para><ulink
    96 url="&patch-root;/jdk-&jdk-src-version;-remove_fixed_paths-1.patch"/></para>
    97 </listitem>
    98 </itemizedlist>
    99 </sect3>
    100 
    101 <sect3><title>Recommended Patches</title>
    102 <itemizedlist spacing='compact'>
    103 <listitem><para><ulink
    104 url="&patch-root;/jdk-&jdk-src-version;-remove_debug_image-1.patch"/>
    105 (Skips compiling of the <application>JDK</application> debug image)</para>
    106 </listitem>
    107 <listitem><para><ulink
    108 url="&patch-root;/jdk-&jdk-src-version;-static_cxx-1.patch"/>
    109 (Forces dynamic linking to gcc libs)</para></listitem>
    110 <listitem><para><ulink
    111 url="&patch-root;/jdk-&jdk-src-version;-xorg-6.8.1-1.patch"/>
    112 (Only required if building agianst <xref linkend="xorg"/>)</para></listitem>
    113 </itemizedlist>
    114 </sect3>
    115 
    116 
    117 <sect3><title><application>JDK</application> dependencies</title>
    118 <sect4><title>Required (to build <application>JDK</application> from
    119 source)</title>
    120 <para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>),
    121 <xref linkend="zip"/>,
    122 <xref linkend="unzip"/>,
    123 <xref linkend="cpio"/>,
    124 <xref linkend="alsa"/>, and
    125 <xref linkend="tcsh"/></para>
    126 </sect4>
    127 </sect3>
    128 
    129 </sect2>
    130 
    131 <sect2>
    132 <title>Installation of <application>JDK</application></title>
    133 
    134 <para>Both versions will be installed in parallel. You may choose to keep
    135 either or both.</para>
    136 
    137 <para>Install the precompiled <acronym>JDK</acronym> with the
    138 following commands:</para>
    139 
    140 <screen><userinput><command>export VERSION=&jdk-bin-version; &amp;&amp;
     18  <?dbhtml filename="jdk.html" ?>
     19
     20  <sect1info>
     21    <othername>$LastChangedBy$</othername>
     22    <date>$Date$</date>
     23  </sect1info>
     24
     25  <title><application>JDK</application>-&jdk-src-version;</title>
     26
     27  <indexterm zone="jdk">
     28    <primary sortas="a-JDK">JDK</primary>
     29  </indexterm>
     30
     31  <sect2 role="package">
     32    <title>Introduction to JDK</title>
     33
     34    <para>The <application>JDK</application> package contains
     35    Sun's <application>Java</application> development environment. This is useful
     36    for developing <application>Java</application> programs and provides the
     37    runtime environment necessary to run <application>Java</application> programs.
     38    It also includes a plug-in for browsers so that they can be
     39    <application>Java</application> aware.</para>
     40
     41    <para>The <application>JDK</application> comes in two flavors, a precompiled
     42    binary and a source package. Previously, the plugin included in the
     43    <application>JDK</application> binary package was unusable on LFS
     44    owing to incompatibilities with <application>GCC</application>-3 compiled browsers.
     45    This is not the case anymore.</para>
     46
     47    <para>In order to use the source code and patches, you must read and agree
     48    to the Sun <ulink url="http://java.sun.com/j2se/1.5.0/jrl_5.0-license.txt">
     49    Java Research License</ulink>. In addition, the source code cannot be
     50    downloaded from some countries, so for users from those countries, the binary
     51    is the only option.</para>
     52
     53    <para>If you plan on compiling the <application>JDK</application> source, you
     54    will still need to download the binary version to bootstrap the
     55    <application>JDK</application> build.  You will need to download a total of four
     56    files to complete the source build: 
     57    <filename>jdk-1_5_0_02-linux-i586.bin</filename>;
     58    <filename>jdk-1_5_0-src-jrl.zip</filename>;
     59    <filename>jdk-1_5_0-bin-jrl.zip</filename>;
     60    and <filename>jdk-1_5_0-mozilla_headers-unix.zip</filename>.</para>
     61
     62    <bridgehead renderas="sect3">Package Information</bridgehead>
     63    <itemizedlist spacing="compact">
     64      <listitem>
     65        <para>Binary download: <ulink url="&jdk-download-binary;"/></para>
     66      </listitem>
     67      <listitem>
     68        <para>Version used (binary): <ulink url="&jdk-bin-version;"/></para>
     69      </listitem>
     70      <listitem>
     71        <para>Download MD5 sum (binary): &jdk-bin-md5sum;</para>
     72      </listitem>
     73      <listitem>
     74        <para>Source download: <ulink url="&jdk-download-source;"/></para>
     75      </listitem>
     76      <listitem>
     77        <para>Download MD5 sum (source): &jdk-source-md5sum;</para>
     78      </listitem>
     79      <listitem>
     80        <para>Download size (binary): &jdk-bin-size;</para>
     81      </listitem>
     82      <listitem>
     83        <para>Download size (source): &jdk-src-size;</para>
     84      </listitem>
     85      <listitem>
     86        <para>Estimated disk space required: &jdk-src-buildsize;</para>
     87      </listitem>
     88      <listitem>
     89        <para>Estimated build time: &jdk-time;</para>
     90      </listitem>
     91    </itemizedlist>
     92
     93    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
     94
     95    <bridgehead renderas="sect4">Required Patches</bridgehead>
     96    <itemizedlist spacing='compact'>
     97      <listitem>
     98        <para><ulink
     99        url="&patch-root;/jdk-&jdk-src-version;-gcc_3.4.2+-3.patch"/></para>
     100      </listitem>
     101      <listitem>
     102        <para><ulink
     103        url="&patch-root;/jdk-&jdk-src-version;-motif_mkmsgcat-1.patch"/></para>
     104      </listitem>
     105      <listitem>
     106        <para><ulink
     107        url="&patch-root;/jdk-&jdk-src-version;-nptl-1.patch"/></para></listitem>
     108      <listitem>
     109        <para><ulink
     110        url="&patch-root;/jdk-&jdk-src-version;-remove_broken_demo-1.patch"/></para>
     111      </listitem>
     112      <listitem>
     113        <para><ulink
     114        url="&patch-root;/jdk-&jdk-src-version;-remove_fixed_paths-1.patch"/></para>
     115      </listitem>
     116    </itemizedlist>
     117
     118    <bridgehead renderas="sect4">Recommended Patches</bridgehead>
     119    <itemizedlist spacing='compact'>
     120      <listitem>
     121        <para><ulink
     122        url="&patch-root;/jdk-&jdk-src-version;-remove_debug_image-1.patch"/>
     123        (Skips compiling of the <application>JDK</application> debug image)</para>
     124      </listitem>
     125      <listitem>
     126        <para><ulink
     127        url="&patch-root;/jdk-&jdk-src-version;-static_cxx-1.patch"/>
     128        (Forces dynamic linking to gcc libs)</para></listitem>
     129      <listitem>
     130        <para><ulink
     131        url="&patch-root;/jdk-&jdk-src-version;-xorg-6.8.1-1.patch"/>
     132        (Only required if building agianst <xref linkend="xorg"/>)</para>
     133      </listitem>
     134    </itemizedlist>
     135
     136    <bridgehead renderas="sect3">TEMPLATE Dependencies</bridgehead>
     137
     138    <bridgehead renderas="sect4">Required (to build JDK from source)</bridgehead>
     139    <para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>),
     140    <xref linkend="zip"/>,
     141    <xref linkend="unzip"/>,
     142    <xref linkend="cpio"/>,
     143    <xref linkend="alsa"/>, and
     144    <xref linkend="tcsh"/></para>
     145
     146  </sect2>
     147
     148  <sect2 role="installation">
     149    <title>Installation of JDK</title>
     150
     151    <para>Both versions will be installed in parallel. You may choose to keep
     152    either or both.</para>
     153
     154    <para>Install the precompiled <application>JDK</application> with the
     155    following commands:</para>
     156
     157<screen><userinput>export VERSION=&jdk-bin-version; &amp;&amp;
    141158export MV=`echo $VERSION | cut -d "_" -f 1,1` &amp;&amp;
    142159export V=`echo ${VERSION} | sed -e "s/\./_/g"` &amp;&amp;
    143160sed -i "s:^PATH=.*::" jdk-${V}-linux-i?86.bin &amp;&amp;
    144 chmod +x jdk-${V}-linux-i?86.bin &amp;&amp;
    145 mkdir -p bin &amp;&amp;
    146 ln -sf /bin/true bin/more &amp;&amp;
     161chmod -v +x jdk-${V}-linux-i?86.bin &amp;&amp;
     162mkdir -v -p bin &amp;&amp;
     163ln -v -sf /bin/true bin/more &amp;&amp;
    147164yes | PATH=$PWD/bin:$PATH ./jdk-${V}-linux-i?86.bin &amp;&amp;
    148 cd jdk${VERSION}</command></userinput></screen>
    149 
    150 <para>Now, as the root user:</para>
    151 
    152 <screen><userinput role='root'><command>install -d /opt/jdk/jdk-precompiled-${MV} &amp;&amp;
    153 mv * /opt/jdk/jdk-precompiled-${MV}
    154 chown -R root:root /opt/jdk/jdk-precompiled-${MV}</command></userinput></screen>
    155 
    156 <para>The binary version is now installed.</para>
    157 
    158 <para>If you don't want to compile the source or are not in a position to
    159 download the source owing to license restrictions, skip ahead to the
    160 configuration section.</para>
    161 
    162 <para>Add the recently installed <acronym>JDK</acronym> to the path.</para>
    163 
    164 <screen><userinput><command>export JAVA_HOME=/opt/jdk/jdk-precompiled-${MV} &amp;&amp;
    165 export PATH=$PATH:${JAVA_HOME}/bin</command></userinput></screen>
    166 
    167 <para>Unzip the sources:</para>
    168 
    169 <screen><userinput><command>mkdir jdk-build &amp;&amp;
     165cd jdk${VERSION}</userinput></screen>
     166
     167    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
     168
     169<screen role="root"><userinput>install -v -d /opt/jdk/jdk-precompiled-${MV} &amp;&amp;
     170mv -v * /opt/jdk/jdk-precompiled-${MV}
     171chown -v -R root:root /opt/jdk/jdk-precompiled-${MV}</userinput></screen>
     172
     173    <para>The binary version is now installed.</para>
     174
     175    <para>If you don't want to compile the source or are not in a position to
     176    download the source owing to license restrictions, skip ahead to the
     177    configuration section.</para>
     178
     179    <para>Add the recently installed <application>JDK</application>
     180    to the path.</para>
     181
     182<screen><userinput>export JAVA_HOME=/opt/jdk/jdk-precompiled-${MV} &amp;&amp;
     183export PATH=$PATH:${JAVA_HOME}/bin</userinput></screen>
     184
     185    <para>Unzip the sources:</para>
     186
     187<screen><userinput>mkdir jdk-build &amp;&amp;
    170188cd jdk-build &amp;&amp;
    171189VERSION=&jdk-src-version; &amp;&amp;
     
    173191unzip ../jdk-${V}-src-jrl.zip &amp;&amp;
    174192unzip ../jdk-${V}-bin-jrl.zip &amp;&amp;
    175 unzip ../jdk-${V}-mozilla_headers-unix.zip</command></userinput></screen>
    176 
    177 <para>Apply all the patches downloaded above.</para>
    178 
    179 <screen><userinput><command>for PATCH in ../jdk-&jdk-src-version;*.patch
     193unzip ../jdk-${V}-mozilla_headers-unix.zip</userinput></screen>
     194
     195    <para>Apply all the patches downloaded above.</para>
     196
     197<screen><userinput>for PATCH in ../jdk-&jdk-src-version;*.patch
    180198    do patch -Np1 -i ${PATCH}
    181 done</command></userinput></screen>
    182 
    183 <para>Set/unset some variables which affect the build:</para>
    184 
    185 <screen><userinput><command>export ALT_BOOTDIR="$JAVA_HOME" &amp;&amp;
     199done</userinput></screen>
     200
     201    <para>Set/unset some variables which affect the build:</para>
     202
     203<screen><userinput>export ALT_BOOTDIR="$JAVA_HOME" &amp;&amp;
    186204unset JAVA_HOME &amp;&amp;
    187205unset CLASSPATH
     
    195213export INSANE=true &amp;&amp;
    196214export MAKE_VERBOSE=true &amp;&amp;
    197 export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts</command></userinput></screen>
    198 
    199 <warning><para>Setting CFLAGS/CXXFLAGS/LDFLAGS is guaranteed to make the build
    200 fail. If you are interested in optimizing the build, set
    201 OTHER_CFLAGS/OTHER_CXXFLAGS/OTHER_LDFLAGS instead.</para></warning>
    202 
    203 <para>Additionally, if you would like to make in parallel, add the
    204 following:</para>
    205 
    206 <screen><userinput><command>export HOTSPOT_BUILD_JOBS=<replaceable>[3]</replaceable></command></userinput></screen>
    207 
    208 <para>Build the <application>JDK</application> with the following
    209 commands. There will be a lot of messages about missing files that look like
    210 errors. These are caused by not meeting the expected build environemnt
    211 (Red Hat).  As long as the build doesn't stop, the messages
    212 are harmless.</para>
    213 
    214 <screen><userinput><command>cd control/make &amp;&amp;
     215export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts</userinput></screen>
     216
     217    <warning>
     218      <para>Setting CFLAGS/CXXFLAGS/LDFLAGS is guaranteed to make the build
     219      fail. If you are interested in optimizing the build, set
     220      OTHER_CFLAGS/OTHER_CXXFLAGS/OTHER_LDFLAGS instead.</para>
     221    </warning>
     222
     223    <para>Additionally, if you would like to make in parallel, add the
     224    following:</para>
     225
     226<screen><userinput>export HOTSPOT_BUILD_JOBS=<replaceable>[3]</replaceable></userinput></screen>
     227
     228    <para>Build the <application>JDK</application> with the following
     229    commands. There will be a lot of messages about missing files that look like
     230    errors. These are caused by not meeting the expected build environemnt
     231    (Red Hat).  As long as the build doesn't stop, the messages
     232    are harmless.</para>
     233
     234<screen><userinput>cd control/make &amp;&amp;
    215235make &amp;&amp;
    216 cd ../build/linux-i?86</command></userinput></screen>
    217 
    218 <para>Now, as the root user, install the <application>JDK</application>:</para>
    219 
    220 <screen><userinput role='root'><command>cp -a j2sdk-image /opt/jdk/jdk-&jdk-src-version; &amp;&amp;
    221 chown -R root:root /opt/jdk/jdk-&jdk-src-version;</command></userinput></screen>
    222 
    223 <para>Restore the environment using the following commands:</para>
    224 
    225 <screen><userinput><command>unset VERSION &amp;&amp;
     236cd ../build/linux-i?86</userinput></screen>
     237
     238    <para>Now, as the <systemitem class="username">root</systemitem> user,
     239    install the <application>JDK</application>:</para>
     240
     241<screen role="root"><userinput>cp -v -a j2sdk-image /opt/jdk/jdk-&jdk-src-version; &amp;&amp;
     242chown -v -R root:root /opt/jdk/jdk-&jdk-src-version;</userinput></screen>
     243
     244    <para>Restore the environment using the following commands:</para>
     245
     246<screen><userinput>unset VERSION &amp;&amp;
    226247unset MV &amp;&amp;
    227248unset V &amp;&amp;
     
    233254unset INSANE &amp;&amp;
    234255unset MAKE_VERBOSE &amp;&amp;
    235 unset ALT_CACERTS_FILE</command></userinput></screen>
    236 
    237 </sect2>
    238 
    239 <sect2>
    240 <title>Command explanations</title>
    241 
    242 <para><command>export ALT_BOOTDIR="$JAVA_HOME"</command>: This var sets
    243 the location of the bootstrap <acronym>JDK</acronym>.</para>
    244 
    245 <para><command>export ALT_MOZILLA_PATH=$PWD</command>: This tells the build
    246 where to find the base directory of the plugin path (which contains the
    247 <application>Mozilla</application> headers).</para>
    248 
    249 <para><command>export ALT_DEVTOOLS_PATH="/usr/bin"</command>: This
    250 changes the location where the build finds the needed executables.</para>
    251 
    252 <para><command>export BUILD_NUMBER="blfs-&blfs-version;"</command>:
    253 This will help you identify the compiled version of the runtime environment
    254 and virtual machine by appending this information to the version
    255 string.</para>
    256 
    257 <para><command>export DEV_ONLY=true</command>: This command
    258 skips compiling the documentation and eliminates a dependency on
    259 <application>rpm</application>.</para>
    260 
    261 <para><command>unset JAVA_HOME</command>: This clears the
    262 <envar>JAVA_HOME</envar> variable as recommended by the build
    263 instructions.</para>
    264 
    265 <para><command>unset CLASSPATH</command>: This clears the
    266 <envar>CLASSPATH</envar> variable as per the recommendations in the build
    267 instructions.</para>
    268 
    269 <para><command>unset CFLAGS/CXXFLAGS...</command>: These variables cause
    270 miscompilation of the build. Never set them.</para>
    271 
    272 <para><command>export INSANE=true</command>: The certified platform for the
    273 build is Redhat Enterprise Advanced Server 2.1. This variable ensures that
    274 all the errors related to compiling on a non-certified platform will be
    275 displayed as warnings instead of errors.</para>
    276 
    277 <para><command>export MAKE_VERBOSE=true</command>: Allows the compiler
    278 commands to be displayed on the console.</para>
    279 
    280 <para><command>export ALT_CACERTS_FILE...</command>: Specifies the
    281 certificate file to use (from the installed binary
    282 <application>JDK</application>).</para>
    283 
    284 </sect2>
    285 
    286 <sect2>
    287 <title>Configuring <application>JDK</application></title>
    288 
    289 <sect3><title>Configuration Information</title>
    290 
    291 <para>There are now two Java 2 <acronym>SDK</acronym>'s installed in
    292 <filename>/opt/jdk</filename>. You should decide on which one you
    293 would like to use as the default. For example if you decide to use the source
    294 compiled <application>JDK</application>, do the following:</para>
    295 
    296 <screen><userinput><command>ln -nsf jdk-&jdk-src-version; /opt/jdk/jdk</command></userinput></screen>
    297 
    298 <para>Add the following <filename>jdk.sh</filename> shell startup file to
    299 the <filename>/etc/profile.d</filename> directory with the following
    300 commands:</para>
    301 
    302 <screen><userinput><command>cat &gt; /etc/profile.d/jdk.sh &lt;&lt; "EOF"</command>
    303 # Begin /etc/profile.d/jdk.sh
     256unset ALT_CACERTS_FILE</userinput></screen>
     257
     258  </sect2>
     259
     260  <sect2 role="commands">
     261    <title>Command Explanations</title>
     262
     263    <para><command>export ALT_BOOTDIR="$JAVA_HOME"</command>: This var sets
     264    the location of the bootstrap <application>JDK</application>.</para>
     265
     266    <para><command>export ALT_MOZILLA_PATH=$PWD</command>: This tells the build
     267    where to find the base directory of the plugin path (which contains the
     268    <application>Mozilla</application> headers).</para>
     269
     270    <para><command>export ALT_DEVTOOLS_PATH="/usr/bin"</command>: This
     271    changes the location where the build finds the needed executables.</para>
     272
     273    <para><command>export BUILD_NUMBER="blfs-&blfs-version;"</command>:
     274    This will help you identify the compiled version of the runtime environment
     275    and virtual machine by appending this information to the version
     276    string.</para>
     277
     278    <para><command>export DEV_ONLY=true</command>: This command
     279    skips compiling the documentation and eliminates a dependency on
     280    <application>rpm</application>.</para>
     281
     282    <para><command>unset JAVA_HOME</command>: This clears the
     283    <envar>JAVA_HOME</envar> variable as recommended by the build
     284    instructions.</para>
     285
     286    <para><command>unset CLASSPATH</command>: This clears the
     287    <envar>CLASSPATH</envar> variable as per the recommendations in the build
     288    instructions.</para>
     289
     290    <para><command>unset CFLAGS/CXXFLAGS...</command>: These variables cause
     291    miscompilation of the build. Never set them.</para>
     292
     293    <para><command>export INSANE=true</command>: The certified platform for the
     294    build is Redhat Enterprise Advanced Server 2.1. This variable ensures that
     295    all the errors related to compiling on a non-certified platform will be
     296    displayed as warnings instead of errors.</para>
     297
     298    <para><command>export MAKE_VERBOSE=true</command>: Allows the compiler
     299    commands to be displayed on the console.</para>
     300
     301    <para><command>export ALT_CACERTS_FILE...</command>: Specifies the
     302    certificate file to use (from the installed binary
     303    <application>JDK</application>).</para>
     304
     305  </sect2>
     306
     307  <sect2 role="configuration">
     308    <title>Configuring JDK</title>
     309
     310    <sect3>
     311      <title>Configuration Information</title>
     312
     313      <para>There are now two Java 2 SDK's installed in
     314      <filename>/opt/jdk</filename>. You should decide on which one you
     315      would like to use as the default. For example if you decide to use the source
     316      compiled <application>JDK</application>, do the following:</para>
     317
     318<screen><userinput>ln -v -nsf jdk-&jdk-src-version; /opt/jdk/jdk</userinput></screen>
     319
     320    <para>Add the following <filename>jdk.sh</filename> shell startup file to
     321    the <filename>/etc/profile.d</filename> directory with the following
     322    commands:</para>
     323
     324<screen><userinput>cat &gt; /etc/profile.d/jdk.sh &lt;&lt; "EOF"
     325<literal># Begin /etc/profile.d/jdk.sh
    304326
    305327# Set JAVA_HOME directory
     
    326348export CLASSPATH
    327349
    328 # End /etc/profile.d/jdk.sh
    329 <command>EOF</command></userinput></screen>
    330 
    331 <para>The <application>Java</application> plugin is loacated in
    332 <filename class="directory">$JAVA_HOME/jre/plugin/i?86/ns7/</filename>.
    333 Make a symbolic link to the file in that directory from your browser
    334 plugins directory.</para>
    335 
    336 <note><para>The plugin must be a symlink for it to work. If not, the browsers
    337 just crash when you attempt to load a <application>Java</application>
    338 application.</para></note>
    339 
    340 </sect3>
    341 
    342 </sect2>
    343 
    344 <sect2>
    345 <title>Contents</title>
    346 
    347 <segmentedlist>
    348 <segtitle>Installed Programs</segtitle>
    349 <segtitle>Installed Libraries</segtitle>
    350 <segtitle>Installed Directory</segtitle>
    351 
    352 <seglistitem>
    353 <seg>appletviewer, extcheck, idlj, jar, jarsigner, java, javac, javadoc,
    354 javah, javap, javaws, jdb, keytool, native2ascii, orbd, policytool, rmic, rmid,
    355 rmiregistry, serialver, servertool and tnameserv</seg>
    356 <seg><envar>$JAVA_HOME</envar>/lib/*, <envar>$JAVA_HOME</envar>/jre/lib/*
    357 and libjavaplugin_oji.so</seg>
    358 <seg>/opt/jdk</seg>
    359 </seglistitem>
    360 </segmentedlist>
    361 
    362 <variablelist>
    363 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
    364 <?dbfo list-presentation="list"?>
    365 
    366 <varlistentry id="appletviewer">
    367 <term><command>appletviewer</command></term>
    368 <listitem><para>runs <application>Java</application> applets outside of the
    369 context of a browser.</para>
    370 <indexterm zone="jdk appletviewer">
    371 <primary sortas="b-appletviewer">appletviewer</primary>
    372 </indexterm></listitem>
    373 </varlistentry>
    374 
    375 <varlistentry id="extcheck">
    376 <term><command>extcheck</command></term>
    377 <listitem><para>checks a specified <filename>JAR</filename> file for title
    378 and version conflicts with any extensions installed in the
    379 <acronym>JDK</acronym> software.</para>
    380 <indexterm zone="jdk extcheck">
    381 <primary sortas="b-extcheck">extcheck</primary>
    382 </indexterm></listitem>
    383 </varlistentry>
    384 
    385 <varlistentry id="idlj">
    386 <term><command>idlj</command></term>
    387 <listitem><para>generates <application>Java</application> bindings from a
    388 given <acronym>IDL</acronym> file.</para>
    389 <indexterm zone="jdk idlj">
    390 <primary sortas="b-idlj">idlj</primary>
    391 </indexterm></listitem>
    392 </varlistentry>
    393 
    394 <varlistentry id="jar">
    395 <term><command>jar</command></term>
    396 <listitem><para>combines multiple files into a single <acronym>JAR</acronym>
    397 archive file.</para>
    398 <indexterm zone="jdk jar">
    399 <primary sortas="b-jar">jar</primary>
    400 </indexterm></listitem>
    401 </varlistentry>
    402 
    403 <varlistentry id="jarsigner">
    404 <term><command>jarsigner</command></term>
    405 <listitem><para>signs <filename>JAR</filename> (Java ARchive) files and
    406 verifies the signatures and integrity of a signed
    407 <filename>JAR</filename>.</para>
    408 <indexterm zone="jdk jarsigner">
    409 <primary sortas="b-jarsigner">jarsigner</primary>
    410 </indexterm></listitem>
    411 </varlistentry>
    412 
    413 <varlistentry id="java">
    414 <term><command>java</command></term>
    415 <listitem><para>launches a <application>Java</application> application by
    416 starting a <application>Java</application> runtime environment, loading a
    417 specified class and invoking its main method.</para>
    418 <indexterm zone="jdk java">
    419 <primary sortas="b-java">java</primary>
    420 </indexterm></listitem>
    421 </varlistentry>
    422 
    423 <varlistentry id="javac">
    424 <term><command>javac</command></term>
    425 <listitem><para>reads class and interface definitions, written in the
    426 <application>Java</application> programming language, and compiles them into
    427 bytecode class files.</para>
    428 <indexterm zone="jdk javac">
    429 <primary sortas="b-javac">javac</primary>
    430 </indexterm></listitem>
    431 </varlistentry>
    432 
    433 <varlistentry id="javadoc">
    434 <term><command>javadoc</command></term>
    435 <listitem><para>parses the declarations and documentation comments in a set of
    436 <application>Java</application> source files and produces a corresponding set
    437 of <acronym>HTML</acronym> pages describing the classes, interfaces,
    438 constructors, methods, and fields.</para>
    439 <indexterm zone="jdk javadoc">
    440 <primary sortas="b-javadoc">javadoc</primary>
    441 </indexterm></listitem>
    442 </varlistentry>
    443 
    444 <varlistentry id="javah">
    445 <term><command>javah</command></term>
    446 <listitem><para>generates <application>C</application> header and source files
    447 that are needed to implement native methods.</para>
    448 <indexterm zone="jdk javah">
    449 <primary sortas="b-javah">javah</primary>
    450 </indexterm></listitem>
    451 </varlistentry>
    452 
    453 <varlistentry id="javap">
    454 <term><command>javap</command></term>
    455 <listitem><para>disassembles a <application>Java</application> class
    456 file.</para>
    457 <indexterm zone="jdk javap">
    458 <primary sortas="b-javap">javap</primary>
    459 </indexterm></listitem>
    460 </varlistentry>
    461 
    462 <varlistentry id="javaws">
    463 <term><command>javaws</command></term>
    464 <listitem><para>launches java application/applets hosted on a network.</para>
    465 <indexterm zone="jdk javaws">
    466 <primary sortas="b-javaws">javaws</primary>
    467 </indexterm></listitem>
    468 </varlistentry>
    469 
    470 <varlistentry id="jdb">
    471 <term><command>jdb</command></term>
    472 <listitem><para>is a simple command-line debugger for
    473 <application>Java</application> classes.</para>
    474 <indexterm zone="jdk jdb">
    475 <primary sortas="b-jdb">jdb</primary>
    476 </indexterm></listitem>
    477 </varlistentry>
    478 
    479 <varlistentry id="keytool">
    480 <term><command>keytool</command></term>
    481 <listitem><para>is a key and certificate management utility.</para>
    482 <indexterm zone="jdk keytool">
    483 <primary sortas="b-keytool">keytool</primary>
    484 </indexterm></listitem>
    485 </varlistentry>
    486 
    487 <varlistentry id="native2ascii">
    488 <term><command>native2ascii</command></term>
    489 <listitem><para> converts files that contain non-supported character encoding
    490 into files containing Latin-1 or Unicode-encoded characters.</para>
    491 <indexterm zone="jdk native2ascii">
    492 <primary sortas="b-native2ascii">native2ascii</primary>
    493 </indexterm></listitem>
    494 </varlistentry>
    495 
    496 <varlistentry id="orbd">
    497 <term><command>orbd</command></term>
    498 <listitem><para>is used to enable clients to transparently locate and invoke
    499 persistent objects on servers in the <acronym>CORBA</acronym>
    500 environment.</para>
    501 <indexterm zone="jdk orbd">
    502 <primary sortas="b-orbd">orbd</primary>
    503 </indexterm></listitem>
    504 </varlistentry>
    505 
    506 <varlistentry id="policytool">
    507 <term><command>policytool</command></term>
    508 <listitem><para>creates and manages a policy file graphically.</para>
    509 <indexterm zone="jdk policytool">
    510 <primary sortas="b-policytool">policytool</primary>
    511 </indexterm></listitem>
    512 </varlistentry>
    513 
    514 <varlistentry id="rmic">
    515 <term><command>rmic</command></term>
    516 <listitem><para>generates stub and skeleton class files for remote objects
    517 from the names of compiled <application>Java</application> classes that
    518 contain remote object implementations.</para>
    519 <indexterm zone="jdk rmic">
    520 <primary sortas="b-rmic">rmic</primary>
    521 </indexterm></listitem>
    522 </varlistentry>
    523 
    524 <varlistentry id="rmid">
    525 <term><command>rmid</command></term>
    526 <listitem><para>starts the activation system daemon.</para>
    527 <indexterm zone="jdk rmid">
    528 <primary sortas="b-rmid">rmid</primary>
    529 </indexterm></listitem>
    530 </varlistentry>
    531 
    532 <varlistentry id="rmiregistry">
    533 <term><command>rmiregistry</command></term>
    534 <listitem><para>creates and starts a remote object registry on the specified
    535 port on the current host.</para>
    536 <indexterm zone="jdk rmiregistry">
    537 <primary sortas="b-rmiregistry">rmiregistry</primary>
    538 </indexterm></listitem>
    539 </varlistentry>
    540 
    541 <varlistentry id="serialver">
    542 <term><command>serialver</command></term>
    543 <listitem><para>returns the serialVersionUID for one or more classes in a
    544 form suitable for copying into an evolving class.</para>
    545 <indexterm zone="jdk serialver">
    546 <primary sortas="b-serialver">serialver</primary>
    547 </indexterm></listitem>
    548 </varlistentry>
    549 
    550 <varlistentry id="servertool">
    551 <term><command>servertool</command></term>
    552 <listitem><para>provides an ease-of-use interface for application programmers
    553 to register, unregister, startup and shutdown a server.</para>
    554 <indexterm zone="jdk servertool">
    555 <primary sortas="b-servertool">servertool</primary>
    556 </indexterm></listitem>
    557 </varlistentry>
    558 
    559 <varlistentry id="tnameserv">
    560 <term><command>tnameserv</command></term>
    561 <listitem><para>starts the <application>Java</application>
    562 <acronym>IDL</acronym> name server.</para>
    563 <indexterm zone="jdk tnameserv">
    564 <primary sortas="b-tnameserv">tnameserv</primary>
    565 </indexterm></listitem>
    566 </varlistentry>
    567 </variablelist>
    568 
    569 </sect2>
     350# End /etc/profile.d/jdk.sh</literal>
     351EOF</userinput></screen>
     352
     353    <para>The <application>Java</application> plugin is loacated in
     354    <filename class="directory">$JAVA_HOME/jre/plugin/i?86/ns7/</filename>.
     355    Make a symbolic link to the file in that directory from your browser
     356    plugins directory.</para>
     357
     358    <note>
     359      <para>The plugin must be a symlink for it to work. If not, the browsers
     360      just crash when you attempt to load a <application>Java</application>
     361      application.</para>
     362    </note>
     363
     364    </sect3>
     365
     366  </sect2>
     367
     368  <sect2 role="content">
     369    <title>Contents</title>
     370
     371    <segmentedlist>
     372      <segtitle>Installed Programs</segtitle>
     373      <segtitle>Installed Libraries</segtitle>
     374      <segtitle>Installed Directory</segtitle>
     375
     376      <seglistitem>
     377        <seg>appletviewer, extcheck, idlj, jar, jarsigner, java, javac, javadoc,
     378        javah, javap, javaws, jdb, keytool, native2ascii, orbd, policytool, rmic, rmid,
     379        rmiregistry, serialver, servertool, and tnameserv</seg>
     380        <seg><envar>$JAVA_HOME</envar>/lib/*, <envar>$JAVA_HOME</envar>/jre/lib/*,
     381        and libjavaplugin_oji.so</seg>
     382        <seg>/opt/jdk</seg>
     383      </seglistitem>
     384    </segmentedlist>
     385
     386    <variablelist>
     387      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     388      <?dbfo list-presentation="list"?>
     389      <?dbhtml list-presentation="table"?>
     390
     391      <varlistentry id="appletviewer">
     392        <term><command>appletviewer</command></term>
     393        <listitem>
     394          <para>runs <application>Java</application> applets outside of the
     395          context of a browser.</para>
     396          <indexterm zone="jdk appletviewer">
     397            <primary sortas="b-appletviewer">appletviewer</primary>
     398          </indexterm>
     399        </listitem>
     400      </varlistentry>
     401
     402      <varlistentry id="extcheck">
     403        <term><command>extcheck</command></term>
     404        <listitem>
     405          <para>checks a specified <filename>JAR</filename> file for title
     406          and version conflicts with any extensions installed in the
     407          <application>JDK</application> software.</para>
     408          <indexterm zone="jdk extcheck">
     409            <primary sortas="b-extcheck">extcheck</primary>
     410          </indexterm>
     411        </listitem>
     412      </varlistentry>
     413
     414      <varlistentry id="idlj">
     415        <term><command>idlj</command></term>
     416        <listitem>
     417          <para>generates <application>Java</application> bindings from a
     418          given IDL file.</para>
     419          <indexterm zone="jdk idlj">
     420            <primary sortas="b-idlj">idlj</primary>
     421          </indexterm>
     422        </listitem>
     423      </varlistentry>
     424
     425      <varlistentry id="jar">
     426        <term><command>jar</command></term>
     427        <listitem>
     428          <para>combines multiple files into a single <filename>JAR</filename>
     429          archive file.</para>
     430          <indexterm zone="jdk jar">
     431            <primary sortas="b-jar">jar</primary>
     432          </indexterm>
     433        </listitem>
     434      </varlistentry>
     435
     436      <varlistentry id="jarsigner">
     437        <term><command>jarsigner</command></term>
     438        <listitem>
     439          <para>signs <filename>JAR</filename> (Java ARchive) files and verifies the
     440          signatures and integrity of a signed <filename>JAR</filename>.</para>
     441          <indexterm zone="jdk jarsigner">
     442            <primary sortas="b-jarsigner">jarsigner</primary>
     443          </indexterm>
     444        </listitem>
     445      </varlistentry>
     446
     447      <varlistentry id="java">
     448        <term><command>java</command></term>
     449        <listitem>
     450          <para>launches a <application>Java</application> application by
     451          starting a <application>Java</application> runtime environment, loading a
     452          specified class and invoking its main method.</para>
     453          <indexterm zone="jdk java">
     454            <primary sortas="b-java">java</primary>
     455          </indexterm>
     456        </listitem>
     457      </varlistentry>
     458
     459      <varlistentry id="javac">
     460        <term><command>javac</command></term>
     461        <listitem>
     462          <para>reads class and interface definitions, written in the
     463          <application>Java</application> programming language, and compiles
     464          them into bytecode class files.</para>
     465          <indexterm zone="jdk javac">
     466            <primary sortas="b-javac">javac</primary>
     467          </indexterm>
     468        </listitem>
     469      </varlistentry>
     470
     471      <varlistentry id="javadoc">
     472        <term><command>javadoc</command></term>
     473        <listitem>
     474          <para>parses the declarations and documentation comments in a set of
     475          <application>Java</application> source files and produces a corresponding
     476          set of HTML pages describing the classes, interfaces,
     477          constructors, methods, and fields.</para>
     478          <indexterm zone="jdk javadoc">
     479            <primary sortas="b-javadoc">javadoc</primary>
     480          </indexterm>
     481        </listitem>
     482      </varlistentry>
     483
     484      <varlistentry id="javah">
     485        <term><command>javah</command></term>
     486        <listitem>
     487          <para>generates <application>C</application> header and source files
     488          that are needed to implement native methods.</para>
     489          <indexterm zone="jdk javah">
     490            <primary sortas="b-javah">javah</primary>
     491          </indexterm>
     492        </listitem>
     493      </varlistentry>
     494
     495      <varlistentry id="javap">
     496        <term><command>javap</command></term>
     497        <listitem>
     498          <para>disassembles a <application>Java</application> class file.</para>
     499          <indexterm zone="jdk javap">
     500            <primary sortas="b-javap">javap</primary>
     501          </indexterm>
     502        </listitem>
     503      </varlistentry>
     504
     505      <varlistentry id="javaws">
     506        <term><command>javaws</command></term>
     507        <listitem>
     508          <para>launches <application>Java </application>application/applets
     509          hosted on a network.</para>
     510          <indexterm zone="jdk javaws">
     511            <primary sortas="b-javaws">javaws</primary>
     512          </indexterm>
     513        </listitem>
     514      </varlistentry>
     515
     516      <varlistentry id="jdb">
     517        <term><command>jdb</command></term>
     518        <listitem>
     519          <para>is a simple command-line debugger for
     520          <application>Java</application> classes.</para>
     521          <indexterm zone="jdk jdb">
     522            <primary sortas="b-jdb">jdb</primary>
     523          </indexterm>
     524        </listitem>
     525      </varlistentry>
     526
     527      <varlistentry id="keytool">
     528        <term><command>keytool</command></term>
     529        <listitem>
     530          <para>is a key and certificate management utility.</para>
     531          <indexterm zone="jdk keytool">
     532            <primary sortas="b-keytool">keytool</primary>
     533          </indexterm>
     534        </listitem>
     535      </varlistentry>
     536
     537      <varlistentry id="native2ascii">
     538        <term><command>native2ascii</command></term>
     539        <listitem>
     540          <para> converts files that contain non-supported character encoding
     541          into files containing Latin-1 or Unicode-encoded characters.</para>
     542          <indexterm zone="jdk native2ascii">
     543            <primary sortas="b-native2ascii">native2ascii</primary>
     544          </indexterm>
     545        </listitem>
     546      </varlistentry>
     547
     548      <varlistentry id="orbd">
     549        <term><command>orbd</command></term>
     550        <listitem>
     551          <para>is used to enable clients to transparently locate and invoke
     552          persistent objects on servers in the CORBA environment.</para>
     553          <indexterm zone="jdk orbd">
     554            <primary sortas="b-orbd">orbd</primary>
     555          </indexterm>
     556        </listitem>
     557      </varlistentry>
     558
     559      <varlistentry id="policytool">
     560        <term><command>policytool</command></term>
     561        <listitem>
     562          <para>creates and manages a policy file graphically.</para>
     563          <indexterm zone="jdk policytool">
     564            <primary sortas="b-policytool">policytool</primary>
     565          </indexterm>
     566        </listitem>
     567      </varlistentry>
     568
     569      <varlistentry id="rmic">
     570        <term><command>rmic</command></term>
     571        <listitem>
     572          <para>generates stub and skeleton class files for remote objects
     573          from the names of compiled <application>Java</application> classes that
     574          contain remote object implementations.</para>
     575          <indexterm zone="jdk rmic">
     576            <primary sortas="b-rmic">rmic</primary>
     577          </indexterm>
     578        </listitem>
     579      </varlistentry>
     580
     581      <varlistentry id="rmid">
     582        <term><command>rmid</command></term>
     583        <listitem>
     584          <para>starts the activation system daemon.</para>
     585          <indexterm zone="jdk rmid">
     586            <primary sortas="b-rmid">rmid</primary>
     587          </indexterm>
     588        </listitem>
     589      </varlistentry>
     590
     591      <varlistentry id="rmiregistry">
     592        <term><command>rmiregistry</command></term>
     593        <listitem>
     594          <para>creates and starts a remote object registry on the specified
     595          port on the current host.</para>
     596          <indexterm zone="jdk rmiregistry">
     597            <primary sortas="b-rmiregistry">rmiregistry</primary>
     598          </indexterm>
     599        </listitem>
     600      </varlistentry>
     601
     602      <varlistentry id="serialver">
     603        <term><command>serialver</command></term>
     604        <listitem>
     605          <para>returns the serialVersionUID for one or more classes in a
     606          form suitable for copying into an evolving class.</para>
     607          <indexterm zone="jdk serialver">
     608            <primary sortas="b-serialver">serialver</primary>
     609          </indexterm>
     610        </listitem>
     611      </varlistentry>
     612
     613      <varlistentry id="servertool">
     614        <term><command>servertool</command></term>
     615        <listitem>
     616          <para>provides an ease-of-use interface for application programmers
     617          to register, unregister, startup and shutdown a server.</para>
     618          <indexterm zone="jdk servertool">
     619            <primary sortas="b-servertool">servertool</primary>
     620          </indexterm>
     621        </listitem>
     622      </varlistentry>
     623
     624      <varlistentry id="tnameserv">
     625        <term><command>tnameserv</command></term>
     626        <listitem>
     627          <para>starts the <application>Java</application> IDL name server.</para>
     628          <indexterm zone="jdk tnameserv">
     629            <primary sortas="b-tnameserv">tnameserv</primary>
     630          </indexterm>
     631        </listitem>
     632      </varlistentry>
     633
     634    </variablelist>
     635
     636  </sect2>
    570637
    571638</sect1>
    572 
Note: See TracChangeset for help on using the changeset viewer.