|
|
|
@ -4,32 +4,32 @@
|
|
|
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
|
|
|
%general-entities;
|
|
|
|
|
|
|
|
|
|
<!ENTITY j2sdk-download-source "http://www.sun.com/software/communitysource/j2se/java2/download.html">
|
|
|
|
|
<!ENTITY j2sdk-download-binary "http://java.sun.com/j2se/1.4.2/download.html">
|
|
|
|
|
<!ENTITY j2sdk-source-md5sum "http://anduin.linuxfromscratch.org/sources/BLFS/SVN/I-K/j2sdk-&j2sdk-src-version;.md5sums">
|
|
|
|
|
<!ENTITY j2sdk-bin-md5sum "a55a9150977de7d5c7f78d29593a8b8c">
|
|
|
|
|
<!ENTITY j2sdk-bin-size "36.4 MB">
|
|
|
|
|
<!ENTITY j2sdk-src-size "55.1 MB (three .zip files)">
|
|
|
|
|
<!ENTITY j2sdk-src-buildsize "1285 MB">
|
|
|
|
|
<!ENTITY j2sdk-time "29.57 SBU">
|
|
|
|
|
<!ENTITY jdk-download-source "http://java.sun.com/j2se/jrl_download.html">
|
|
|
|
|
<!ENTITY jdk-download-binary "http://java.sun.com/j2se/1.5.0/download.jsp">
|
|
|
|
|
<!ENTITY jdk-source-md5sum "http://anduin.linuxfromscratch.org/sources/BLFS/SVN/I-K/jdk/jdk-&jdk-src-version;.md5sums">
|
|
|
|
|
<!ENTITY jdk-bin-md5sum "562d9797af801bfbe2b5e44417d8ccc4">
|
|
|
|
|
<!ENTITY jdk-bin-size "45 MB">
|
|
|
|
|
<!ENTITY jdk-src-size "65.7 MB (three .zip files)">
|
|
|
|
|
<!ENTITY jdk-src-buildsize "1444 MB">
|
|
|
|
|
<!ENTITY jdk-time "33.06 SBU">
|
|
|
|
|
]>
|
|
|
|
|
|
|
|
|
|
<sect1 id="j2sdk" xreflabel="J2SDK-&j2sdk-src-version;">
|
|
|
|
|
<sect1 id="jdk" xreflabel="JDK-&jdk-src-version;">
|
|
|
|
|
<sect1info>
|
|
|
|
|
<othername>$LastChangedBy$</othername>
|
|
|
|
|
<date>$Date$</date>
|
|
|
|
|
</sect1info>
|
|
|
|
|
<?dbhtml filename="j2sdk.html" ?>
|
|
|
|
|
<title><application>J2<acronym>SDK</acronym></application>-&j2sdk-src-version;</title>
|
|
|
|
|
<indexterm zone="j2sdk">
|
|
|
|
|
<primary sortas="a-J2SDK">J2SDK</primary>
|
|
|
|
|
<?dbhtml filename="jdk.html" ?>
|
|
|
|
|
<title><application>JDK</application>-&jdk-src-version;</title>
|
|
|
|
|
<indexterm zone="jdk">
|
|
|
|
|
<primary sortas="a-JDK">JDK</primary>
|
|
|
|
|
</indexterm>
|
|
|
|
|
|
|
|
|
|
<sect2>
|
|
|
|
|
<title>Introduction to
|
|
|
|
|
<application>J2<acronym>SDK</acronym></application></title>
|
|
|
|
|
<application>JDK</application></title>
|
|
|
|
|
|
|
|
|
|
<para>The <application>J2<acronym>SDK</acronym></application> package contains
|
|
|
|
|
<para>The <application>JDK</application> package contains
|
|
|
|
|
Sun's <application>Java</application> development environment. This is useful
|
|
|
|
|
for developing <application>Java</application> programs and provides the
|
|
|
|
|
runtime environment necessary to run <application>Java</application> programs.
|
|
|
|
@ -42,111 +42,116 @@ and a source package. Previously, the plugin included in the
|
|
|
|
|
owing to incompatibilities with <acronym>GCC</acronym>-3 compiled browsers.
|
|
|
|
|
This is not the case anymore.</para>
|
|
|
|
|
|
|
|
|
|
<para>The source package requires registration at the Sun developer site and
|
|
|
|
|
accepting the Sun Community Source License. The source code cannot be
|
|
|
|
|
<para>In order to use the source code and patches, you must read and agree
|
|
|
|
|
to the Sun <ulink url="http://java.sun.com/j2se/1.5.0/jrl_5.0-license.txt">
|
|
|
|
|
Java Research License</ulink>. In addition, the source code cannot be
|
|
|
|
|
downloaded from some countries, so for users from those countries, the binary
|
|
|
|
|
may be the only option.</para>
|
|
|
|
|
is the only option.</para>
|
|
|
|
|
|
|
|
|
|
<para>Even if you plan on compiling the <acronym>JDK</acronym> source, you will
|
|
|
|
|
need to download the binary version to bootstrap the <acronym>JDK</acronym>
|
|
|
|
|
build. Follow the link below to download both source and binary packages. When
|
|
|
|
|
downloading the source (two files required), also download the
|
|
|
|
|
<application>Mozilla</application> headers package available at the same
|
|
|
|
|
location. To build from source, you'll end up downloading a total of four
|
|
|
|
|
files.</para>
|
|
|
|
|
<para>If you plan on compiling the <acronym>JDK</acronym> source, you
|
|
|
|
|
will still need to download the binary version to bootstrap the
|
|
|
|
|
<acronym>JDK</acronym> build. You will need to download a total of four
|
|
|
|
|
files to complete the source build:
|
|
|
|
|
<filename>jdk-1_5_0_02-linux-i586.bin</filename>;
|
|
|
|
|
<filename>jdk-1_5_0-src-jrl.zip</filename>;
|
|
|
|
|
<filename>jdk-1_5_0-bin-jrl.zip</filename>;
|
|
|
|
|
and <filename>jdk-1_5_0-mozilla_headers-unix.zip</filename>.</para>
|
|
|
|
|
|
|
|
|
|
<sect3><title>Package information</title>
|
|
|
|
|
<itemizedlist spacing='compact'>
|
|
|
|
|
<listitem><para>Binary download:
|
|
|
|
|
<ulink url="&j2sdk-download-binary;"/></para></listitem>
|
|
|
|
|
<ulink url="&jdk-download-binary;"/></para></listitem>
|
|
|
|
|
<listitem><para>Version used (binary):
|
|
|
|
|
&jdk-bin-version;</para></listitem>
|
|
|
|
|
<listitem><para>Download MD5 sum (binary):
|
|
|
|
|
&jdk-bin-md5sum;</para></listitem>
|
|
|
|
|
<listitem><para>Source download:
|
|
|
|
|
<ulink url="&j2sdk-download-source;"/></para></listitem>
|
|
|
|
|
<listitem><para>Version used (binary):
|
|
|
|
|
&j2sdk-bin-version;</para></listitem>
|
|
|
|
|
<listitem><para>Download MD5 sum (binary):
|
|
|
|
|
&j2sdk-bin-md5sum;</para></listitem>
|
|
|
|
|
<ulink url="&jdk-download-source;"/></para></listitem>
|
|
|
|
|
<listitem><para>Download MD5 sum (source):
|
|
|
|
|
<ulink url="&j2sdk-source-md5sum;"/></para></listitem>
|
|
|
|
|
<ulink url="&jdk-source-md5sum;"/></para></listitem>
|
|
|
|
|
<listitem><para>Download size (binary):
|
|
|
|
|
&j2sdk-bin-size;</para></listitem>
|
|
|
|
|
&jdk-bin-size;</para></listitem>
|
|
|
|
|
<listitem><para>Download size (source):
|
|
|
|
|
&j2sdk-src-size;</para></listitem>
|
|
|
|
|
&jdk-src-size;</para></listitem>
|
|
|
|
|
<listitem><para>Estimated disk space required:
|
|
|
|
|
&j2sdk-src-buildsize;</para></listitem>
|
|
|
|
|
&jdk-src-buildsize;</para></listitem>
|
|
|
|
|
<listitem><para>Estimated build time:
|
|
|
|
|
&j2sdk-time;</para></listitem></itemizedlist>
|
|
|
|
|
&jdk-time;</para></listitem></itemizedlist>
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
|
<sect3><title>Additional downloads</title>
|
|
|
|
|
<sect3><title>Needed Patches</title>
|
|
|
|
|
<itemizedlist spacing='compact'>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/j2sdk-&j2sdk-src-version;-fix_inline_asm-1.patch"/></para>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/jdk-&jdk-src-version;-gcc_3.4.2+-3.patch"/></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/j2sdk-&j2sdk-src-version;-gcc33-1.patch"/></para>
|
|
|
|
|
url="&patch-root;/jdk-&jdk-src-version;-motif_mkmsgcat-1.patch"/></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/jdk-&jdk-src-version;-nptl-1.patch"/></para></listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/j2sdk-&j2sdk-src-version;-motif_mkmsgcat-1.patch"/></para>
|
|
|
|
|
url="&patch-root;/jdk-&jdk-src-version;-remove_broken_demo-1.patch"/></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/j2sdk-&j2sdk-src-version;-nptl-1.patch"/></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/j2sdk-&j2sdk-src-version;-remove_debug_image-1.patch"/></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/j2sdk-&j2sdk-src-version;-remove_fixed_paths-1.patch"/></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/j2sdk-&j2sdk-src-version;-static_cxx-1.patch"/></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/j2sdk-&j2sdk-src-version;-ash-1.patch"/>
|
|
|
|
|
(Only required if /bin/sh is symlinked to <xref linkend="ash"/>)</para>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/jdk-&jdk-src-version;-remove_fixed_paths-1.patch"/></para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
|
<sect3><title><application>J2SDK</application> dependencies</title>
|
|
|
|
|
<sect4><title>Required (to build <application>J2SDK</application> from
|
|
|
|
|
<sect3><title>Recommended Patches</title>
|
|
|
|
|
<itemizedlist spacing='compact'>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/jdk-&jdk-src-version;-remove_debug_image-1.patch"/>
|
|
|
|
|
(Skips compiling of the <application>JDK</application> debug image)</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/jdk-&jdk-src-version;-static_cxx-1.patch"/>
|
|
|
|
|
(Forces dynamic linking to gcc libs)</para></listitem>
|
|
|
|
|
<listitem><para><ulink
|
|
|
|
|
url="&patch-root;/jdk-&jdk-src-version;-xorg-6.8.1-1.patch"/>
|
|
|
|
|
(Only required if building agianst <xref linkend="xorg"/>)</para></listitem>
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<sect3><title><application>JDK</application> dependencies</title>
|
|
|
|
|
<sect4><title>Required (to build <application>JDK</application> from
|
|
|
|
|
source)</title>
|
|
|
|
|
<para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>),
|
|
|
|
|
<xref linkend="zip"/>,
|
|
|
|
|
<xref linkend="unzip"/>,
|
|
|
|
|
<xref linkend="cpio"/>,
|
|
|
|
|
<xref linkend="alsa"/>,
|
|
|
|
|
<xref linkend="tcsh"/> and
|
|
|
|
|
<xref linkend="gcc3"/></para>
|
|
|
|
|
<xref linkend="alsa"/>, and
|
|
|
|
|
<xref linkend="tcsh"/></para>
|
|
|
|
|
</sect4>
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
|
|
<sect2>
|
|
|
|
|
<title>Installation of <application>J2SDK</application></title>
|
|
|
|
|
<title>Installation of <application>JDK</application></title>
|
|
|
|
|
|
|
|
|
|
<para>Both versions will be installed in parallel. You may choose to keep
|
|
|
|
|
either or both.</para>
|
|
|
|
|
|
|
|
|
|
<para>Installation of the precompiled <acronym>JDK</acronym> is easy:
|
|
|
|
|
create a directory to install from, copy the .bin there, and run the
|
|
|
|
|
<para>Install the precompiled <acronym>JDK</acronym> with the
|
|
|
|
|
following commands:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput><command>export VERSION=&j2sdk-bin-version; &&
|
|
|
|
|
<screen><userinput><command>export VERSION=&jdk-bin-version; &&
|
|
|
|
|
export MV=`echo $VERSION | cut -d "_" -f 1,1` &&
|
|
|
|
|
export V=`echo ${VERSION} | sed -e "s/\./_/g"` &&
|
|
|
|
|
sed -i "s:^PATH=.*::" j2sdk-${V}-linux-i?86.bin &&
|
|
|
|
|
chmod +x j2sdk-${V}-linux-i?86.bin &&
|
|
|
|
|
sed -i "s:^PATH=.*::" jdk-${V}-linux-i?86.bin &&
|
|
|
|
|
chmod +x jdk-${V}-linux-i?86.bin &&
|
|
|
|
|
mkdir -p bin &&
|
|
|
|
|
ln -sf /bin/true bin/more &&
|
|
|
|
|
yes | PATH=$PWD/bin:$PATH ./j2sdk-${V}-linux-i?86.bin &&
|
|
|
|
|
cd j2sdk${VERSION}</command></userinput></screen>
|
|
|
|
|
yes | PATH=$PWD/bin:$PATH ./jdk-${V}-linux-i?86.bin &&
|
|
|
|
|
cd jdk${VERSION}</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Now, as the root user:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput role='root'><command>install -d /opt/j2sdk/j2sdk-precompiled-${MV} &&
|
|
|
|
|
mv * /opt/j2sdk/j2sdk-precompiled-${MV}
|
|
|
|
|
chown -R root:root /opt/j2sdk/j2sdk-precompiled-${MV}</command></userinput></screen>
|
|
|
|
|
<screen><userinput role='root'><command>install -d /opt/jdk/jdk-precompiled-${MV} &&
|
|
|
|
|
mv * /opt/jdk/jdk-precompiled-${MV}
|
|
|
|
|
chown -R root:root /opt/jdk/jdk-precompiled-${MV}</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>The binary version is now installed.</para>
|
|
|
|
|
|
|
|
|
@ -156,24 +161,23 @@ configuration section.</para>
|
|
|
|
|
|
|
|
|
|
<para>Add the recently installed <acronym>JDK</acronym> to the path.</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput><command>export JAVA_HOME=/opt/j2sdk/j2sdk-precompiled-${MV} &&
|
|
|
|
|
<screen><userinput><command>export JAVA_HOME=/opt/jdk/jdk-precompiled-${MV} &&
|
|
|
|
|
export PATH=$PATH:${JAVA_HOME}/bin</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Unzip the sources:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput><command>mkdir j2sdk-build &&
|
|
|
|
|
cd j2sdk-build &&
|
|
|
|
|
VERSION=&j2sdk-src-version; &&
|
|
|
|
|
<screen><userinput><command>mkdir jdk-build &&
|
|
|
|
|
cd jdk-build &&
|
|
|
|
|
VERSION=&jdk-src-version; &&
|
|
|
|
|
V=`echo $VERSION | sed -e "s/\./_/g"` &&
|
|
|
|
|
unzip ../j2sdk-${V}-src-scsl.zip &&
|
|
|
|
|
unzip ../j2sdk-${V}-mozilla_headers-unix.zip &&
|
|
|
|
|
unzip ../j2sdk-${V}-bin-scsl.zip</command></userinput></screen>
|
|
|
|
|
unzip ../jdk-${V}-src-jrl.zip &&
|
|
|
|
|
unzip ../jdk-${V}-bin-jrl.zip &&
|
|
|
|
|
unzip ../jdk-${V}-mozilla_headers-unix.zip</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Apply all the patches downloaded above.</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput><command>for PATCH in ../j2sdk-&j2sdk-src-version;*.patch
|
|
|
|
|
do
|
|
|
|
|
patch -Np1 -i $PATCH
|
|
|
|
|
<screen><userinput><command>for PATCH in ../jdk-&jdk-src-version;*.patch
|
|
|
|
|
do patch -Np1 -i ${PATCH}
|
|
|
|
|
done</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Set/unset some variables which affect the build:</para>
|
|
|
|
@ -185,46 +189,36 @@ unset CFLAGS
|
|
|
|
|
unset CXXFLAGS
|
|
|
|
|
unset LDFLAGS
|
|
|
|
|
export ALT_DEVTOOLS_PATH="/usr/bin" &&
|
|
|
|
|
export BUILD_NUMBER="blfs-`date +%s`" &&
|
|
|
|
|
export BUILD_NUMBER="blfs-&blfs-version;" &&
|
|
|
|
|
export DEV_ONLY=true &&
|
|
|
|
|
export ALT_MOZILLA_PATH=$PWD &&
|
|
|
|
|
export INSANE=true &&
|
|
|
|
|
export MAKE_VERBOSE=true &&
|
|
|
|
|
export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts
|
|
|
|
|
export PATH_HOLD=$PATH
|
|
|
|
|
export PATH=/opt/gcc-&gcc3-version;/bin:$PATH</command></userinput></screen>
|
|
|
|
|
export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<warning><para>Setting CFLAGS/CXXFLAGS/LDFLAGS is guaranteed to make the build
|
|
|
|
|
fail. If you are interested in optimizing the build, set
|
|
|
|
|
OTHER_CFLAGS/OTHER_CXXFLAGS/OTHER_LDFLAGS instead.</para></warning>
|
|
|
|
|
|
|
|
|
|
<para>Additionally, if you would like to make in parallel, add the following
|
|
|
|
|
(adjust <envar>MAKE_PARALLEL</envar> to your liking):</para>
|
|
|
|
|
<para>Additionally, if you would like to make in parallel, add the
|
|
|
|
|
following:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput><command>export HOTSPOT_BUILD_JOBS=$MAKE_PARALLEL</command></userinput></screen>
|
|
|
|
|
<screen><userinput><command>export HOTSPOT_BUILD_JOBS=<replaceable>[3]</replaceable></command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>If the included <application>Motif</application> doesn't build properly,
|
|
|
|
|
the error is noticed much later in the build. A solution is to build the
|
|
|
|
|
<application>Motif</application> library before compiling the
|
|
|
|
|
<application>J2<acronym>SDK</acronym></application>.</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput><command>cd motif/lib/Xm &&
|
|
|
|
|
make &&
|
|
|
|
|
cd ../../..</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Build <application>J2SDK</application> with the following
|
|
|
|
|
<para>Build the <application>JDK</application> with the following
|
|
|
|
|
commands. There will be a lot of messages about missing files that look like
|
|
|
|
|
errors. As long as the build doesn't stop, the messages are harmless, so
|
|
|
|
|
ignore them.</para>
|
|
|
|
|
errors. These are caused by not meeting the expected build environemnt
|
|
|
|
|
(Red Hat). As long as the build doesn't stop, the messages
|
|
|
|
|
are harmless.</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput><command>cd control/make &&
|
|
|
|
|
make &&
|
|
|
|
|
cd ../build/linux-i?86</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Now, as the root user, install <application>J2SDK</application>:</para>
|
|
|
|
|
<para>Now, as the root user, install the <application>JDK</application>:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput role='root'><command>cp -a j2sdk-image /opt/j2sdk/j2sdk-&j2sdk-src-version; &&
|
|
|
|
|
chown -R root:root /opt/j2sdk/j2sdk-&j2sdk-src-version;</command></userinput></screen>
|
|
|
|
|
<screen><userinput role='root'><command>cp -a j2sdk-image /opt/jdk/jdk-&jdk-src-version; &&
|
|
|
|
|
chown -R root:root /opt/jdk/jdk-&jdk-src-version;</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Restore the environment using the following commands:</para>
|
|
|
|
|
|
|
|
|
@ -238,9 +232,7 @@ unset DEV_ONLY &&
|
|
|
|
|
unset ALT_MOZILLA_PATH &&
|
|
|
|
|
unset INSANE &&
|
|
|
|
|
unset MAKE_VERBOSE &&
|
|
|
|
|
unset ALT_CACERTS_FILE &&
|
|
|
|
|
export PATH=$PATH_HOLD &&
|
|
|
|
|
unset PATH_HOLD</command></userinput></screen>
|
|
|
|
|
unset ALT_CACERTS_FILE</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
|
@ -250,20 +242,20 @@ unset PATH_HOLD</command></userinput></screen>
|
|
|
|
|
<para><command>export ALT_BOOTDIR="$JAVA_HOME"</command>: This var sets
|
|
|
|
|
the location of the bootstrap <acronym>JDK</acronym>.</para>
|
|
|
|
|
|
|
|
|
|
<para><command>export ALT_MOZILLA_PATH=$PWD</command>: This sets the
|
|
|
|
|
variable that points to where you unzipped the
|
|
|
|
|
<application>Mozilla</application> headers.</para>
|
|
|
|
|
<para><command>export ALT_MOZILLA_PATH=$PWD</command>: This tells the build
|
|
|
|
|
where to find the base directory of the plugin path (which contains the
|
|
|
|
|
<application>Mozilla</application> headers).</para>
|
|
|
|
|
|
|
|
|
|
<para><command>export ALT_DEVTOOLS_PATH="/usr/bin"</command>: This
|
|
|
|
|
changes the location where the build finds the needed executables.</para>
|
|
|
|
|
|
|
|
|
|
<para><command>export BUILD_NUMBER="blfs-`date +%s`"</command>: This will
|
|
|
|
|
help you identify this compiled version of the runtime environment and
|
|
|
|
|
virtual machine by appending this information to the version in the
|
|
|
|
|
output to <command>java -version</command>.</para>
|
|
|
|
|
<para><command>export BUILD_NUMBER="blfs-&blfs-version;"</command>:
|
|
|
|
|
This will help you identify the compiled version of the runtime environment
|
|
|
|
|
and virtual machine by appending this information to the version
|
|
|
|
|
string.</para>
|
|
|
|
|
|
|
|
|
|
<para><command>export DEV_ONLY=true</command>: This command
|
|
|
|
|
eliminates compiling the documentation and a dependency for
|
|
|
|
|
skips compiling the documentation and eliminates a dependency on
|
|
|
|
|
<application>rpm</application>.</para>
|
|
|
|
|
|
|
|
|
|
<para><command>unset JAVA_HOME</command>: This clears the
|
|
|
|
@ -274,74 +266,75 @@ instructions.</para>
|
|
|
|
|
<envar>CLASSPATH</envar> variable as per the recommendations in the build
|
|
|
|
|
instructions.</para>
|
|
|
|
|
|
|
|
|
|
<para><command>unset CFLAGS...</command>: These flags cause miscompilation
|
|
|
|
|
of the build. Never set these.</para>
|
|
|
|
|
<para><command>unset CFLAGS/CXXFLAGS...</command>: These variables cause
|
|
|
|
|
miscompilation of the build. Never set them.</para>
|
|
|
|
|
|
|
|
|
|
<para><command>export INSANE=true</command>: Unless you specify that you
|
|
|
|
|
are insane the build will not proceed. The certified platform for the build is
|
|
|
|
|
Redhat 6.1. The above variable ensures that all the errors related to
|
|
|
|
|
compiling on a non-certified platform will be converted to warnings.</para>
|
|
|
|
|
<para><command>export INSANE=true</command>: The certified platform for the
|
|
|
|
|
build is Redhat Enterprise Advanced Server 2.1. This variable ensures that
|
|
|
|
|
all the errors related to compiling on a non-certified platform will be
|
|
|
|
|
displayed as warnings instead of errors.</para>
|
|
|
|
|
|
|
|
|
|
<para><command>export MAKE_VERBOSE=true</command>: Allows the current
|
|
|
|
|
compilation command to be displayed on the console.</para>
|
|
|
|
|
<para><command>export MAKE_VERBOSE=true</command>: Allows the compiler
|
|
|
|
|
commands to be displayed on the console.</para>
|
|
|
|
|
|
|
|
|
|
<para><command>export ALT_CACERTS_FILE...</command>: Specifies the
|
|
|
|
|
certificate file to use.</para>
|
|
|
|
|
certificate file to use (from the installed binary
|
|
|
|
|
<application>JDK</application>).</para>
|
|
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
|
|
<sect2>
|
|
|
|
|
<title>Configuring <application>J2SDK</application></title>
|
|
|
|
|
<title>Configuring <application>JDK</application></title>
|
|
|
|
|
|
|
|
|
|
<sect3><title>Configuration Information</title>
|
|
|
|
|
|
|
|
|
|
<para>There are now two Java 2 <acronym>SDK</acronym>'s installed in
|
|
|
|
|
<filename>/opt/j2sdk</filename>. You should decide on which one you
|
|
|
|
|
<filename>/opt/jdk</filename>. You should decide on which one you
|
|
|
|
|
would like to use as the default. For example if you decide to use the source
|
|
|
|
|
compiled <application>J2SDK</application>, do the following:</para>
|
|
|
|
|
compiled <application>JDK</application>, do the following:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput><command>ln -nsf j2sdk-&j2sdk-src-version; /opt/j2sdk/j2sdk</command></userinput></screen>
|
|
|
|
|
<screen><userinput><command>ln -nsf jdk-&jdk-src-version; /opt/jdk/jdk</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>Add the following lines to your shell startup file (e.g.,
|
|
|
|
|
<filename>/etc/profile</filename>).</para>
|
|
|
|
|
<para>Add the following <filename>jdk.sh</filename> shell startup file to
|
|
|
|
|
the <filename>/etc/profile.d</filename> directory with the following
|
|
|
|
|
commands:</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput>export JAVA_HOME=/opt/j2sdk/j2sdk
|
|
|
|
|
export PATH=$PATH:$JAVA_HOME/bin</userinput></screen>
|
|
|
|
|
<screen><userinput><command>cat > /etc/profile.d/jdk.sh << "EOF"</command>
|
|
|
|
|
# Begin /etc/profile.d/jdk.sh
|
|
|
|
|
|
|
|
|
|
<para>Add <filename>$JAVA_HOME/man</filename> to your
|
|
|
|
|
<envar>MANPATH</envar> variable or to
|
|
|
|
|
<filename>/etc/man.conf</filename></para>
|
|
|
|
|
# Set JAVA_HOME directory
|
|
|
|
|
JAVA_HOME=/opt/jdk/jdk
|
|
|
|
|
export JAVA_HOME
|
|
|
|
|
|
|
|
|
|
<para>The <application>Java</application> plugin is in the directory
|
|
|
|
|
<filename class="directory">$JAVA_HOME/jre/plugin/i?86/ns610/</filename>.
|
|
|
|
|
Make a symbolic link to the file in that directory from your plugins directory.
|
|
|
|
|
Note that the plugin must be a symlink for it to work. If not, the browsers
|
|
|
|
|
just crash when you attempt to load a <application>Java</application>
|
|
|
|
|
plugin.</para>
|
|
|
|
|
# Adjust PATH and MANPATH
|
|
|
|
|
pathappend ${JAVA_HOME}/bin PATH
|
|
|
|
|
pathappend ${JAVA_HOME}/man MANPATH
|
|
|
|
|
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
|
<sect3><title>Handling CLASSPATH</title>
|
|
|
|
|
|
|
|
|
|
<para>When compiling packages, the <envar>CLASSPATH</envar> environment
|
|
|
|
|
variable is used by the <acronym>JDK</acronym> to locate classes at
|
|
|
|
|
compile-time and run-time. It is tedious to add all the classes used to the
|
|
|
|
|
<envar>CLASSPATH</envar> manually. You may add the following lines to your
|
|
|
|
|
shell startup file to set <envar>CLASSPATH</envar> automatically to include
|
|
|
|
|
all JAR files in a specified directory, which in the example below is
|
|
|
|
|
<filename>/usr/lib/auto-java-classpath</filename>.</para>
|
|
|
|
|
|
|
|
|
|
<screen><userinput>AUTO_CLASSPATH_DIR=/usr/lib/auto-java-classpath
|
|
|
|
|
if [ -z $CLASSPATH ]
|
|
|
|
|
then
|
|
|
|
|
CLASSPATH=.:$AUTO_CLASSPATH_DIR
|
|
|
|
|
# Auto Java Classpath Updating
|
|
|
|
|
# Create symlinks to this directory for auto classpath setting
|
|
|
|
|
AUTO_CLASSPATH_DIR=/usr/lib/classpath
|
|
|
|
|
if [ -z ${CLASSPATH} ]; then
|
|
|
|
|
CLASSPATH=.:${AUTO_CLASSPATH_DIR}
|
|
|
|
|
else
|
|
|
|
|
CLASSPATH=$CLASSPATH:.:$AUTO_CLASSPATH_DIR
|
|
|
|
|
pathappend . CLASSPATH
|
|
|
|
|
pathappend ${AUTO_CLASSPATH_DIR} CLASSPATH
|
|
|
|
|
fi
|
|
|
|
|
for i in $(ls $AUTO_CLASSPATH_DIR/*.jar 2>/dev/null)
|
|
|
|
|
do
|
|
|
|
|
CLASSPATH=$CLASSPATH:$i
|
|
|
|
|
done</userinput></screen>
|
|
|
|
|
|
|
|
|
|
for i in $(ls ${AUTO_CLASSPATH_DIR}/*.jar 2>/dev/null)
|
|
|
|
|
do pathappend ${i} CLASSPATH
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
# End /etc/profile.d/jdk.sh
|
|
|
|
|
<command>EOF</command></userinput></screen>
|
|
|
|
|
|
|
|
|
|
<para>The <application>Java</application> plugin is loacated in
|
|
|
|
|
<filename class="directory">$JAVA_HOME/jre/plugin/i?86/ns7/</filename>.
|
|
|
|
|
Make a symbolic link to the file in that directory from your browser
|
|
|
|
|
plugins directory.</para>
|
|
|
|
|
|
|
|
|
|
<note><para>The plugin must be a symlink for it to work. If not, the browsers
|
|
|
|
|
just crash when you attempt to load a <application>Java</application>
|
|
|
|
|
application.</para></note>
|
|
|
|
|
|
|
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
@ -361,7 +354,7 @@ javah, javap, jdb, keytool, native2ascii, orbd, policytool, rmic, rmid,
|
|
|
|
|
rmiregistry, serialver, servertool and tnameserv</seg>
|
|
|
|
|
<seg><envar>$JAVA_HOME</envar>/lib/*, <envar>$JAVA_HOME</envar>/jre/lib/*
|
|
|
|
|
and libjavaplugin_oji.so</seg>
|
|
|
|
|
<seg>/opt/j2sdk</seg>
|
|
|
|
|
<seg>/opt/jdk</seg>
|
|
|
|
|
</seglistitem>
|
|
|
|
|
</segmentedlist>
|
|
|
|
|
|
|
|
|
@ -373,7 +366,7 @@ and libjavaplugin_oji.so</seg>
|
|
|
|
|
<term><command>appletviewer</command></term>
|
|
|
|
|
<listitem><para>runs <application>Java</application> applets outside of the
|
|
|
|
|
context of a browser.</para>
|
|
|
|
|
<indexterm zone="j2sdk appletviewer">
|
|
|
|
|
<indexterm zone="jdk appletviewer">
|
|
|
|
|
<primary sortas="b-appletviewer">appletviewer</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -383,7 +376,7 @@ context of a browser.</para>
|
|
|
|
|
<listitem><para>checks a specified <filename>JAR</filename> file for title
|
|
|
|
|
and version conflicts with any extensions installed in the
|
|
|
|
|
<acronym>JDK</acronym> software.</para>
|
|
|
|
|
<indexterm zone="j2sdk extcheck">
|
|
|
|
|
<indexterm zone="jdk extcheck">
|
|
|
|
|
<primary sortas="b-extcheck">extcheck</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -392,7 +385,7 @@ and version conflicts with any extensions installed in the
|
|
|
|
|
<term><command>idlj</command></term>
|
|
|
|
|
<listitem><para>generates <application>Java</application> bindings from a
|
|
|
|
|
given <acronym>IDL</acronym> file.</para>
|
|
|
|
|
<indexterm zone="j2sdk idlj">
|
|
|
|
|
<indexterm zone="jdk idlj">
|
|
|
|
|
<primary sortas="b-idlj">idlj</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -401,7 +394,7 @@ given <acronym>IDL</acronym> file.</para>
|
|
|
|
|
<term><command>jar</command></term>
|
|
|
|
|
<listitem><para>combines multiple files into a single <acronym>JAR</acronym>
|
|
|
|
|
archive file.</para>
|
|
|
|
|
<indexterm zone="j2sdk jar">
|
|
|
|
|
<indexterm zone="jdk jar">
|
|
|
|
|
<primary sortas="b-jar">jar</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -411,7 +404,7 @@ archive file.</para>
|
|
|
|
|
<listitem><para>signs <filename>JAR</filename> (Java ARchive) files and
|
|
|
|
|
verifies the signatures and integrity of a signed
|
|
|
|
|
<filename>JAR</filename>.</para>
|
|
|
|
|
<indexterm zone="j2sdk jarsigner">
|
|
|
|
|
<indexterm zone="jdk jarsigner">
|
|
|
|
|
<primary sortas="b-jarsigner">jarsigner</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -421,7 +414,7 @@ verifies the signatures and integrity of a signed
|
|
|
|
|
<listitem><para>launches a <application>Java</application> application by
|
|
|
|
|
starting a <application>Java</application> runtime environment, loading a
|
|
|
|
|
specified class and invoking its main method.</para>
|
|
|
|
|
<indexterm zone="j2sdk java">
|
|
|
|
|
<indexterm zone="jdk java">
|
|
|
|
|
<primary sortas="b-java">java</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -431,7 +424,7 @@ specified class and invoking its main method.</para>
|
|
|
|
|
<listitem><para>reads class and interface definitions, written in the
|
|
|
|
|
<application>Java</application> programming language, and compiles them into
|
|
|
|
|
bytecode class files.</para>
|
|
|
|
|
<indexterm zone="j2sdk javac">
|
|
|
|
|
<indexterm zone="jdk javac">
|
|
|
|
|
<primary sortas="b-javac">javac</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -442,7 +435,7 @@ bytecode class files.</para>
|
|
|
|
|
<application>Java</application> source files and produces a corresponding set
|
|
|
|
|
of <acronym>HTML</acronym> pages describing the classes, interfaces,
|
|
|
|
|
constructors, methods, and fields.</para>
|
|
|
|
|
<indexterm zone="j2sdk javadoc">
|
|
|
|
|
<indexterm zone="jdk javadoc">
|
|
|
|
|
<primary sortas="b-javadoc">javadoc</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -451,7 +444,7 @@ constructors, methods, and fields.</para>
|
|
|
|
|
<term><command>javah</command></term>
|
|
|
|
|
<listitem><para>generates <application>C</application> header and source files
|
|
|
|
|
that are needed to implement native methods.</para>
|
|
|
|
|
<indexterm zone="j2sdk javah">
|
|
|
|
|
<indexterm zone="jdk javah">
|
|
|
|
|
<primary sortas="b-javah">javah</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -460,7 +453,7 @@ that are needed to implement native methods.</para>
|
|
|
|
|
<term><command>javap</command></term>
|
|
|
|
|
<listitem><para>disassembles a <application>Java</application> class
|
|
|
|
|
file.</para>
|
|
|
|
|
<indexterm zone="j2sdk javap">
|
|
|
|
|
<indexterm zone="jdk javap">
|
|
|
|
|
<primary sortas="b-javap">javap</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -469,7 +462,7 @@ file.</para>
|
|
|
|
|
<term><command>jdb</command></term>
|
|
|
|
|
<listitem><para>is a simple command-line debugger for
|
|
|
|
|
<application>Java</application> classes.</para>
|
|
|
|
|
<indexterm zone="j2sdk jdb">
|
|
|
|
|
<indexterm zone="jdk jdb">
|
|
|
|
|
<primary sortas="b-jdb">jdb</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -477,7 +470,7 @@ file.</para>
|
|
|
|
|
<varlistentry id="keytool">
|
|
|
|
|
<term><command>keytool</command></term>
|
|
|
|
|
<listitem><para>is a key and certificate management utility.</para>
|
|
|
|
|
<indexterm zone="j2sdk keytool">
|
|
|
|
|
<indexterm zone="jdk keytool">
|
|
|
|
|
<primary sortas="b-keytool">keytool</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -486,7 +479,7 @@ file.</para>
|
|
|
|
|
<term><command>native2ascii</command></term>
|
|
|
|
|
<listitem><para> converts files that contain non-supported character encoding
|
|
|
|
|
into files containing Latin-1 or Unicode-encoded characters.</para>
|
|
|
|
|
<indexterm zone="j2sdk native2ascii">
|
|
|
|
|
<indexterm zone="jdk native2ascii">
|
|
|
|
|
<primary sortas="b-native2ascii">native2ascii</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -496,7 +489,7 @@ into files containing Latin-1 or Unicode-encoded characters.</para>
|
|
|
|
|
<listitem><para>is used to enable clients to transparently locate and invoke
|
|
|
|
|
persistent objects on servers in the <acronym>CORBA</acronym>
|
|
|
|
|
environment.</para>
|
|
|
|
|
<indexterm zone="j2sdk orbd">
|
|
|
|
|
<indexterm zone="jdk orbd">
|
|
|
|
|
<primary sortas="b-orbd">orbd</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -504,7 +497,7 @@ environment.</para>
|
|
|
|
|
<varlistentry id="policytool">
|
|
|
|
|
<term><command>policytool</command></term>
|
|
|
|
|
<listitem><para>creates and manages a policy file graphically.</para>
|
|
|
|
|
<indexterm zone="j2sdk policytool">
|
|
|
|
|
<indexterm zone="jdk policytool">
|
|
|
|
|
<primary sortas="b-policytool">policytool</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -514,7 +507,7 @@ environment.</para>
|
|
|
|
|
<listitem><para>generates stub and skeleton class files for remote objects
|
|
|
|
|
from the names of compiled <application>Java</application> classes that
|
|
|
|
|
contain remote object implementations.</para>
|
|
|
|
|
<indexterm zone="j2sdk rmic">
|
|
|
|
|
<indexterm zone="jdk rmic">
|
|
|
|
|
<primary sortas="b-rmic">rmic</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -522,7 +515,7 @@ contain remote object implementations.</para>
|
|
|
|
|
<varlistentry id="rmid">
|
|
|
|
|
<term><command>rmid</command></term>
|
|
|
|
|
<listitem><para>starts the activation system daemon.</para>
|
|
|
|
|
<indexterm zone="j2sdk rmid">
|
|
|
|
|
<indexterm zone="jdk rmid">
|
|
|
|
|
<primary sortas="b-rmid">rmid</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -531,7 +524,7 @@ contain remote object implementations.</para>
|
|
|
|
|
<term><command>rmiregistry</command></term>
|
|
|
|
|
<listitem><para>creates and starts a remote object registry on the specified
|
|
|
|
|
port on the current host.</para>
|
|
|
|
|
<indexterm zone="j2sdk rmiregistry">
|
|
|
|
|
<indexterm zone="jdk rmiregistry">
|
|
|
|
|
<primary sortas="b-rmiregistry">rmiregistry</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -540,7 +533,7 @@ port on the current host.</para>
|
|
|
|
|
<term><command>serialver</command></term>
|
|
|
|
|
<listitem><para>returns the serialVersionUID for one or more classes in a
|
|
|
|
|
form suitable for copying into an evolving class.</para>
|
|
|
|
|
<indexterm zone="j2sdk serialver">
|
|
|
|
|
<indexterm zone="jdk serialver">
|
|
|
|
|
<primary sortas="b-serialver">serialver</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -549,7 +542,7 @@ form suitable for copying into an evolving class.</para>
|
|
|
|
|
<term><command>servertool</command></term>
|
|
|
|
|
<listitem><para>provides an ease-of-use interface for application programmers
|
|
|
|
|
to register, unregister, startup and shutdown a server.</para>
|
|
|
|
|
<indexterm zone="j2sdk servertool">
|
|
|
|
|
<indexterm zone="jdk servertool">
|
|
|
|
|
<primary sortas="b-servertool">servertool</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
@ -558,7 +551,7 @@ to register, unregister, startup and shutdown a server.</para>
|
|
|
|
|
<term><command>tnameserv</command></term>
|
|
|
|
|
<listitem><para>starts the <application>Java</application>
|
|
|
|
|
<acronym>IDL</acronym> name server.</para>
|
|
|
|
|
<indexterm zone="j2sdk tnameserv">
|
|
|
|
|
<indexterm zone="jdk tnameserv">
|
|
|
|
|
<primary sortas="b-tnameserv">tnameserv</primary>
|
|
|
|
|
</indexterm></listitem>
|
|
|
|
|
</varlistentry>
|