Ignore:
Timestamp:
06/12/2004 10:56:28 PM (20 years ago)
Author:
Bruce Dubbs <bdubbs@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 6.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, 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
Children:
d3edf27
Parents:
bfe245f
Message:

XML Updates to Part III from DJ

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • general/prog/j2sdk.xml

    rbfe245f r52d29f7  
     1<?xml version="1.0" encoding="ISO-8859-1"?>
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
     3   "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
     4  <!ENTITY % general-entities SYSTEM "../../general.ent">
     5  %general-entities;
     6
     7  <!ENTITY j2sdk-download-http "http://freshmeat.net/projects/sunjdk">
     8  <!ENTITY j2sdk-download-ftp  " ">
     9  <!ENTITY j2sdk-bin-size      "35 MB">
     10  <!ENTITY j2sdk-src-size      "77 MB">
     11  <!ENTITY j2sdk-src-buildsize "1810 MB">
     12  <!ENTITY j2sdk-time          "85 SBU">
     13]>
     14
    115<sect1 id="j2sdk" xreflabel="J2SDK-&j2sdk-src-version;">
    216<?dbhtml filename="j2sdk.html" ?>
    317<title>J2SDK-&j2sdk-src-version;</title>
    418
    5 &j2sdk-intro;
    6 &j2sdk-inst;
    7 &j2sdk-exp;
    8 &j2sdk-config;
    9 &j2sdk-desc;
     19<sect2>
     20<title>Introduction to j2sdk</title>
     21                                                                               
     22<para>The <application>J2SDK</application> package contains Sun's
     23<application>Java</application> development environment. This is useful for
     24developing <application>Java</application> programs and provides the runtime
     25environment necessary to run <application>Java</application> programs.  It also                                                                               
     26includes a plug-in for browsers so that they can be <application>Java
     27</application> aware.</para>
     28                                                                               
     29<para>
     30The <acronym>JDK</acronym> comes in two flavors, a precompiled binary and a
     31source package. Previously, the plugin included in the <acronym>JDK</acronym> binary
     32package was unusable on <acronym>LFS</acronym>
     33owing to incompatibilities with <acronym>GCC</acronym>-3 compiled browsers.
     34This is not the case anymore.</para>
     35                                                                               
     36<para>The source package requires registration at the Sun
     37developer site and accepting the Sun Community Source License.
     38The source code cannot be downloaded from some countries, so for users
     39from those countries, the binary may be the only option.</para>
     40                                                                               
     41<para>Even if you plan on compiling the <acronym>JDK</acronym> source, you will                                                                               
     42need to download the binary version to bootstrap the <acronym>JDK</acronym>
     43build. Follow the link below to download both source and binary packages. When
     44downloading the source also download the <application>Mozilla</application>
     45headers package available at the same location.</para>
     46                                                                               
     47<!--
     48<para>For users who cannot download the <application>J2SDK</application> source owing to license restrictions, <application>blackdown
     49</application> has an <acronym>GCC</acronym>-3 based precompiled version.
     50Check out <ulink url="http://www.blackdown.org/"/> for more
     51information.</para>
     52-->
     53                                                                               
     54<sect3><title>Package information</title>
     55<itemizedlist spacing='compact'>
     56<listitem><para>Download (HTTP): <ulink
     57url="&j2sdk-download-http;"/></para></listitem>
     58
     59<!--
     60<listitem><para>Download (FTP): <ulink
     61url="&j2sdk-download-ftp;"/></para></listitem>
     62-->
     63<listitem><para>Version used (binary):
     64&j2sdk-bin-version;</para></listitem>
     65<listitem><para>Download size (binary): &j2sdk-bin-size;</para></listitem>
     66<listitem><para>Download size (source): &j2sdk-src-size;</para></listitem>
     67<listitem><para>Estimated Disk space required:
     68&j2sdk-src-buildsize;</para></listitem>
     69<listitem><para>Estimated build time:
     70&j2sdk-time;</para></listitem></itemizedlist>
     71</sect3>
     72                                                                               
     73<sect3><title>Additional downloads</title>
     74<itemizedlist spacing='compact'>
     75<listitem><para><ulink url="&patch-root;/j2sdk-1.4.2-fix-inline-asm-1.patch"/></para></listitem>
     76<listitem><para><ulink url="&patch-root;/j2sdk-1.4.2-gcc33-1.patch"/></para></listitem>
     77<listitem><para><ulink url="&patch-root;/j2sdk-1.4.2-motif-mkmsgcat.patch"/></para></listitem>
     78<listitem><para><ulink url="&patch-root;/j2sdk-1.4.2-remove-debug-image.patch"/></para></listitem>
     79<listitem><para><ulink url="&patch-root;/j2sdk-1.4.2-remove-fixed-paths-1.patch"/></para></listitem>
     80<listitem><para><ulink url="&patch-root;/j2sdk-1.4.2-static_cxx.patch"/></para></listitem>
     81<listitem><para><ulink url="&patch-root;/j2sdk-1.4.2-ash.patch"/> (Only required if /bin/sh is symlinked to <xref linkend="ash"/>)</para></listitem>
     82</itemizedlist>
     83</sect3>
     84                                                                               
     85                                                                               
     86<sect3><title><application>J2SDK</application> dependencies</title>
     87<sect4><title>Required</title>
     88<para>X (<xref linkend="xfree86"/> or <xref linkend="xorg"/>), <xref linkend="zip"/>, <xref
     89linkend="unzip"/>, <xref linkend="cpio"/>, <xref linkend="alsa"/>,
     90and <xref linkend="tcsh"/>
     91</para></sect4>
     92</sect3>
     93                                                                               
     94</sect2>
     95
     96<sect2>
     97<title>Installation of <application>J2SDK</application></title>
     98                                                                               
     99<para>Both versions will be installed in parallel. You may choose to keep
     100either or both.</para>
     101                                                                               
     102<para>Installation of the precompiled <acronym>JDK</acronym> is easy:
     103create a directory to install from, copy the .bin there, and run the
     104following commands:</para>
     105                                                                               
     106<screen><userinput><command>VERSION=&j2sdk-bin-version; &amp;&amp;
     107MV=`echo $VERSION | cut -d "_" -f 1,1` &amp;&amp;
     108V=`echo ${VERSION} | sed -e "s/\./_/g"` &amp;&amp;
     109sed -i "s:^PATH=.*::" j2sdk-${V}-linux-i?86.bin &amp;&amp;
     110chmod +x j2sdk-${V}-linux-i?86.bin &amp;&amp;
     111mkdir -p bin &amp;&amp;
     112ln -sf /bin/true bin/more &amp;&amp;
     113yes | PATH=$PWD/bin:$PATH ./j2sdk-${V}-linux-i?86.bin &amp;&amp;
     114cd j2sdk${VERSION} &amp;&amp;
     115install -d /opt/j2sdk/j2sdk-precompiled-${MV} &amp;&amp;
     116mv * /opt/j2sdk/j2sdk-precompiled-${MV}</command></userinput></screen>
     117                                                                               
     118<para>The binary version is now installed.  </para>
     119                                                                               
     120<para>If you don't want to compile the source or are not in a postition to download the source
     121owing to license restrictions, skip ahead to the configuration
     122section.</para>
     123                                                                               
     124<para>Add the recently compiled <acronym>JDK</acronym> to the path.</para>
     125<screen><userinput><command>export JAVA_HOME=/opt/j2sdk/j2sdk-precompiled-${MV} &amp;&amp;
     126export PATH=$PATH:${JAVA_HOME}/bin</command></userinput></screen>
     127                                                                               
     128<para>Unzip the source:</para>
     129                                                                               
     130<screen><userinput><command>VERSION=&j2sdk-src-version; &amp;&amp;
     131V=`echo $VERSION | sed -e "s/\./_/g"` &amp;&amp;
     132unzip j2sdk-${V}-src-scsl.zip &amp;&amp;
     133unzip j2sdk-${V}-mozilla_headers-unix.zip &amp;&amp;
     134unzip j2sdk-${V}-bin-scsl.zip</command></userinput></screen>
     135                                                                               
     136<para>Apply all the patches downloaded above.</para>
     137                                                                               
     138<screen><userinput><command>for PATCH in fix-inline-asm-1 gcc33-1 motif-mkmsgcat \
     139             remove-debug-image remove-fixed-paths-1 \
     140             static_cxx
     141do
     142   patch -Np1 -i j2sdk-1.4.2-$PATCH.patch
     143done</command></userinput></screen>
     144                                                                               
     145<para>Set/unset some variables which affect the build:</para>
     146<screen><userinput><command>export ALT_BOOTDIR="$JAVA_HOME" &amp;&amp;
     147unset JAVA_HOME &amp;&amp;
     148unset CLASSPATH
     149unset CFLAGS
     150unset CXXFLAGS
     151unset LDFLAGS
     152export ALT_DEVTOOLS_PATH="/usr/bin" &amp;&amp;
     153export BUILD_NUMBER="blfs-`date +%s`" &amp;&amp;
     154export DEV_ONLY=true &amp;&amp;
     155export ALT_MOZILLA_PATH=$PWD &amp;&amp;
     156export INSANE=true &amp;&amp;
     157export MAKE_VERBOSE=true &amp;&amp;
     158export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts</command></userinput></screen>
     159                                                                               
     160<warning><para>Setting CFLAGS/CXXFLAGS/LDFLAGS is guaranteed to make the build fail.
     161If you are interested in optimizing the build, set OTHER_CFLAGS/OTHER_CXXFLAGS/OTHER_LDFLAGS
     162instead.</para></warning>
     163                                                                               
     164<para>Additionally, if you would like to make in parallel, add the following
     165(adjust <envar>MAKE_PARALLEL</envar> to your liking):</para>
     166<screen><userinput><command>export HOTSPOT_BUILD_JOBS=$MAKE_PARALLEL</command></userinput></screen>
     167                                                                               
     168<para>If the included <application>Motif</application> doesn't build properly, the
     169error is noticed much later in the build.
     170A solution is to build the <application>Motif</application>
     171library before compiling the <application>J2SDK</application>.</para>
     172                                                                               
     173<screen><userinput><command>cd motif/lib/Xm &amp;&amp;
     174make &amp;&amp;
     175cd ../../..</command></userinput></screen>
     176                                                                               
     177<para>Make and Install <application>J2SDK</application> with the following
     178commands. There will be a lot of messages about missing files that look like
     179errors. As long as the build doesn't stop, the messages are harmless, so ignore                                                                               
     180them.</para>
     181                                                                               
     182<screen><userinput><command>cd control/make &amp;&amp;
     183make &amp;&amp;
     184cd ../.. &amp;&amp;
     185cd control/build/linux-i?86 &amp;&amp;
     186cp -a j2sdk-image /opt/j2sdk/j2sdk-&j2sdk-src-version;</command></userinput></screen>
     187                                                                               
     188</sect2>
     189
     190<sect2>
     191<title>Command explanations</title>
     192                                                                               
     193<para><command>export ALT_BOOTDIR="$JAVA_HOME"</command>: This var sets
     194location of the bootstrap <acronym>JDK</acronym>.
     195</para>
     196                                                                               
     197<para><command>export ALT_MOZILLA_PATH=$PWD</command>: This sets the
     198variable that points to where you unzipped the <application>Mozilla
     199</application> headers.</para>
     200                                                                               
     201<para><command>export ALT_DEVTOOLS_PATH="/usr/bin"</command>: This
     202changes the location where the build finds the needed executables.
     203</para>
     204                                                                               
     205<para><command>export BUILD_NUMBER="blfs-`date +%s`"</command>: This will
     206help you identify this compiled version of the runtime environment and
     207virtual machine by appending this information to the version in the
     208output to <command>java -version</command>.</para>
     209                                                                               
     210<para><command>export DEV_ONLY=true</command>: This command
     211eliminates compiling the documentation and eliminates a dependency for
     212<application>rpm</application>. </para>
     213                                                                               
     214<para><command>unset JAVA_HOME</command>: This clears the
     215<envar>JAVA_HOME</envar>
     216variable as recommended by the build instructions.</para>
     217                                                                               
     218<para><command>unset CLASSPATH</command>: This clears the
     219<envar>CLASSPATH</envar> variable as per the recommendations in the build instructions.
     220</para>
     221                                                                               
     222<para><command>unset CFLAGS...</command>: These flags cause miscompilation
     223of the build. Never set these.</para>
     224                                                                               
     225<para><command>export INSANE=true</command>: Unless you specify that you
     226are insane the build will not proceed. The certified platform for the build is
     227Redhat 6.1. The above variable ensures that all the errors related to
     228compiling on a non-certified platform will be converted to warnings.</para>
     229                                                                               
     230<para><command>export MAKE_VERBOSE=true</command>: Allows the current
     231compilation command to be displayed on the console.</para>
     232                                                                               
     233<para><command>export ALT_CACERTS_FILE...</command>: Specifies the
     234certificate file to use.</para>
     235                                                                               
     236</sect2>
     237
     238<sect2>
     239<title>Configuring <application>J2SDK</application></title>
     240                                                                               
     241<sect3><title>Configuration Information</title>
     242                                                                               
     243<para>We have two Java 2 <acronym>SDK</acronym>'s installed in
     244<filename>/opt/j2sdk</filename>. Decide on which one you
     245would like to use as the default. For example if you decide to use the source
     246compiled <application>J2SDK</application>, do the following:</para>
     247                                                                               
     248<screen><userinput><command>ln -nsf j2sdk-&j2sdk-src-version; /opt/j2sdk/j2sdk</command></userinput></screen>
     249                                                                               
     250<para>Add the following lines to your shell startup file (e.g.,
     251<filename>/etc/profile</filename>).</para>
     252                                                                               
     253<screen><userinput>export JAVA_HOME=/opt/j2sdk/j2sdk
     254export PATH=$PATH:$JAVA_HOME/bin</userinput></screen>
     255                                                                               
     256<para>Add <filename>$JAVA_HOME/man</filename> to your
     257<envar>MANPATH</envar> variable or to
     258<filename>/etc/man.conf</filename></para>
     259                                                                               
     260<para>The <application>Java</application> plugin is in the directory
     261<filename class="directory">$JAVA_HOME/jre/plugin/i?86/ns610/</filename>.
     262Make a symbolic link to the file in that directory from your plugins directory.</para>
     263                                                                               
     264</sect3>
     265                                                                               
     266<sect3><title>Handling CLASSPATH</title>
     267                                                                               
     268<para>When compiling packages, the <envar>CLASSPATH</envar> environment variable
     269is used by JDK to locate classes at compile-time and run-time. It is tedious toadd all the classes used to the <envar>CLASSPATH</envar> manually. You may add
     270the following lines to your shell startup file to set <envar>CLASSPATH</envar>
     271automatically to include all JAR files in a specified directory, which in
     272the example below is <filename>/usr/lib/auto-java-classpath</filename>.</para>
     273                                                                               
     274<screen><userinput>AUTO_CLASSPATH_DIR=/usr/lib/auto-java-classpath
     275if [ -z $CLASSPATH ]
     276then
     277  CLASSPATH=.:$AUTO_CLASSPATH_DIR
     278else
     279  CLASSPATH=$CLASSPATH:.:$AUTO_CLASSPATH_DIR
     280fi
     281for i in $(ls $AUTO_CLASSPATH_DIR/*.jar 2>/dev/null)
     282do
     283  CLASSPATH=$CLASSPATH:$i
     284done</userinput></screen>
     285                                                                               
     286</sect3>
     287                                                                               
     288</sect2>
     289
     290<sect2>
     291<title>Contents</title>
     292                                                                               
     293<para>The <application>J2SDK</application> package contains
     294<command>appletviewer</command>,
     295<command>extcheck</command>, <command>idlj</command>,
     296<command>jar</command>, <command>jarsigner</command>,
     297<command>java</command>, <command>javac</command>,
     298<command>javadoc</command>, <command>javah</command>,
     299<command>javap</command>, <command>jdb</command>,
     300<command>keytool</command>, <command>native2ascii</command>,
     301<command>orbd</command>, <command>policytool</command>,
     302<command>rmic</command>, <command>rmid</command>,
     303<command>rmiregistry</command>, <command>rmiregistry</command>,
     304<command>serialver</command>, <command>servertool</command> and
     305<command>tnameserv</command>.</para>
     306                                                                               
     307</sect2>
     308                                                                               
     309<sect2><title>Description</title>
     310                                                                               
     311<sect3><title>appletviewer</title>
     312<para><command>appletviewer</command> runs
     313<application>Java</application> applets outside of the context of a
     314browser.</para></sect3>
     315                                                                               
     316<sect3><title>extcheck</title>
     317<para><command>extcheck</command> checks a specified <filename>JAR</filename>
     318file for title and version conflicts with any extensions installed in the
     319<acronym>JDK</acronym> software.</para></sect3>
     320                                                                               
     321<sect3><title>idlj</title>
     322<para><command>idlj</command> generates <application>Java</application>
     323bindings from a given <acronym>IDL</acronym> file.</para></sect3>
     324                                                                               
     325<sect3><title>jar</title>
     326<para><command>jar</command> combines multiple files into a single
     327<acronym>JAR</acronym> archive file.</para></sect3>
     328                                                                               
     329<sect3><title>jarsigner</title>
     330<para><command>jarsigner</command> signs <filename>JAR</filename>
     331(Java ARchive) files and verifies the signatures and integrity of a signed
     332<filename>JAR</filename>.</para></sect3>
     333                                                                               
     334<sect3><title>java</title>
     335<para><command>java</command> launches a <application>Java</application>
     336application by starting a <application>Java</application> runtime
     337environment, loading a specified class and invoking its main
     338method.</para></sect3>
     339                                                                               
     340<sect3><title>javac</title>
     341<para><command>javac</command> reads class and interface definitions, written
     342in the <application>Java</application> programming language, and compiles them
     343into bytecode class files.</para></sect3>
     344                                                                               
     345<sect3><title>javadoc</title>
     346<para><command>javadoc</command> parses the declarations and documentation
     347comments in a set of <application>Java</application> source files and produces
     348a corresponding set of <acronym>HTML</acronym> pages describing the classes,
     349interfaces, constructors, methods, and fields.</para></sect3>
     350                                                                               
     351<sect3><title>javah</title>
     352<para><command>javah</command> generates <application>C</application> header
     353and source files that are needed to implement native methods.</para></sect3>
     354                                                                               
     355<sect3><title>javap</title>
     356<para><command>javap</command> disassembles a
     357<application>Java</application> class file.</para></sect3>
     358                                                                               
     359<sect3><title>jdb</title>
     360<para><command>jdb</command> is a simple command-line debugger for
     361<application>Java</application> classes.</para></sect3>
     362                                                                               
     363<sect3><title>keytool</title>
     364<para><command>keytool</command> is a key and certificate management utility.</para></sect3>
     365                                                                               
     366<sect3><title>native2ascii</title>
     367<para><command>native2ascii</command> converts files that contain non-supported
     368character encoding into files containing Latin-1 or Unicode-encoded characters.</para></sect3>
     369                                                                               
     370<sect3><title>orbd</title>
     371<para><command>orbd</command> is used to enable clients to transparently locate
     372and invoke persistent objects on servers in the <acronym>CORBA</acronym>
     373environment.</para></sect3>
     374                                                                               
     375<sect3><title>policytool</title>
     376<para><command>policytool</command> creates and manages a policy file
     377graphically.</para></sect3>
     378                                                                               
     379<sect3><title>rmic</title>
     380<para><command>rmic</command> generates stub and skeleton class files for
     381remote objects from the names of compiled <application>Java</application>
     382classes that contain remote object implementations.</para></sect3>
     383                                                                               
     384<sect3><title>rmid</title>
     385<para><command>rmid</command> starts the activation system daemon.</para>
     386</sect3>
     387                                                                               
     388<sect3><title>rmiregistry</title>
     389<para><command>rmiregistry</command> creates and starts a remote object
     390registry on the specified port on the current host.</para></sect3>
     391                                                                               
     392<sect3><title>serialver</title>
     393<para><command>serialver</command> returns the serialVersionUID for one or
     394more classes in a form suitable for copying into an evolving class.</para>
     395</sect3>
     396                                                                               
     397<sect3><title>servertool</title>
     398<para><command>servertool</command> provides an ease-of-use interface for
     399application programmers to register, unregister, startup and shutdown a server.</para></sect3>
     400                                                                               
     401<sect3><title>tnameserv</title>
     402<para><command>tnameserv</command> starts the <application>Java</application>
     403<acronym>IDL</acronym> name server.</para></sect3>
     404
     405</sect2>
    10406
    11407</sect1>
Note: See TracChangeset for help on using the changeset viewer.