For some reason I can only send short messages. This is weird.
I am thoroughly fed up with Ximian and KMail.
So you only get the diff now.
--- buildsystem-faq.jsp 2002-10-31 19:02:28.000000000 -0500
+++ buildsystem-faq-1.jsp 2002-11-01 05:44:12.000000000 -0500
@@ -26,7 +26,7 @@
you believe should be listed here, please send us some
<a href="mailto:webmaster@;jboss.org">email</a> letting us know.
-<p>If you are looking for a more compresensive document about the build
+<p>If you are looking for a more comprehensive document about the build
system check out the <a href="buildsystem.jsp">Build System Guide</a>.
<!-- ==================================================================== -->
@@ -186,7 +186,7 @@
<!-- ==================================================================== -->
-<h2>What are the nessicary CVS modules to build JBoss?</h2>
+<h2>What are the necessary CVS modules to build JBoss?</h2>
<p>All you need to build the latest development version of JBoss is
the <tt>jboss-all</tt> module.
@@ -198,7 +198,7 @@
<!-- ==================================================================== -->
-<h2>I can not find the <tt>jboss-all</tt> module anywhere... why does this work?</h2>
+<h2>I can not find the <tt>jboss-all</tt> module anywhere...how does this work?</h2>
<p>The <tt>jboss-all</tt> module (and others) are created by definitions in
CVSROOT/modules. Have a look at the latest version
@@ -230,6 +230,509 @@
cvs update -d
</pre>
+<!-- ==================================================================== -->
+
+<h2>I heard that JBoss is really hard to build - and that only mega-geniuses
+can build - and run - JBoss, not to mention develop it.
+Are these rumors true? How complicated is the JBoss Build System?
+</h2>
+<p>
+You heard right. JBoss is really complicated and, really, really hard to
+build. In fact, it has been shown that the JBoss build system (which uses
+Jakarta ant for added complexity) self-organizes and self-tunes according to
+the renormalization group (RG) flow with respect to a local scaling
+microscopic arrow of time. This implies that the JBoss build system emerged as
+a result of a non-equilibrium process of self-organized critical phenomena
+launched by vacuum fluctuations in Cantorian fractal spacetime. The JBoss
+build system exists in a metastable vacuum and is moving toward a fixed point
+4 + φ³ (where φ is the golden mean) of the RG. After reaching this
+point, a new phase
+transition will drive the <em> all of JBoss </em> to a quasi-crystal phase of
+the lower average dimension of φ³.
+<p>
+<h2>Just the facts please, how do I get JBoss to build?</h2>
+<ol start=1 type="1">
+<li>Would you invest in a stock because it was raved about in yesterday's nightly
+news? Of course not. And neither should you download a package from JBoss simply
+because it is posted on sourceforge, or worse yet, the JBoss home page. Those
+packages are mere decoys, designed to mislead and frustrate the unwary and the
+uninitiated. Do not assume that any package you can find a link to will build.<em>
+Psssst: search the commits list for a <branch-tag> (probably of form Branch_*)
+to which commits are
+currently being applied by various JBoss illuminati - you know who they are - the
+dudes and dudesses with their pictures posted on The Site.</em>The branch tag is
+typically embedded in a message fragment resembling the following:
+<p>
+<tt>
+> User: starksm <br>
+> Date: 02/10/30 22:46:02 <br>
+> Modified: src/main/org/jboss/invocation/http/server Tag: Branch_3_0 <br>
+> HttpInvokerHA.java <br>
+</tt>
+<p>
+In this case the branch tag is:
+<p>
+<tt>Branch_3_0</tt>
+<p>
+<li>
+Go to the JBoss project at sourceforge and browse the <tt>modules</tt> file: click on
+"Browse the CVS repository," then click CVSROOT, then <tt>modules</tt>. View the
+file.
+<p>
+Hint: Use your browser's search dialog to do a find on <tt>(view)</tt>. The most
+useful links (like the builds) are also the most obscure.
+<p>
+<li>
+Now do a search on <branch-tag> (in this case <tt>Branch_3_0</tt>).
+<p>
+<li>
+When you find the branch tag, scroll up to the nearest enclosing <tt># project
+definition</tt> (see the example modules file below) under which <branch-tag>
+is defined. The module names are listed in the left-most column, and in this case
+they are
+<tt>jboss-all</tt> and <tt>jboss-3.0</tt>.
+<p>
+Hint: pick a maximally inclusive module.
+<p>
+If you guess wrong, you'll have to look back at the modules file (the file we are
+looking at now) and guess again. <em> Trust no one.</em>
+<p>
+To recap:
+<tt>Branch_3_0</tt> is the branch tag and <tt>jboss-3.0</tt> is the module name (in
+the example below) that you will use in the cvs checkout command.
+<li>
+<p>
+Now, cd to the directory on your local machine immediately below which you would like
+the cvs server to create the jboss-3.0 directory and type:
+<p>
+<pre class="command">
+CVSROOT=:pserver:[EMAIL PROTECTED]:/cvsroot/jboss
+export CVSROOT
+</pre>
+<p>
+Note that this will only affect the shell associated with the current terminal, so
+you don't have to worry about it screwing up your system-wide settings, or settings
+associated with other terminals, if you happen to maintain a local CVS server or
+access other CVS sites.
+<p>
+<li>
+Then type:
+<p>
+<pre class="command">
+cvs login
+</pre>
+<p>
+and just hit the RETURN key when prompted for a password. Or you can avoid setting
+CVSROOT by including it in the login command as follows:
+<pre class="command">
+cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/jboss login
+</pre>
+but setting CVSROOT will make your life easier. Note that the <tt>-d</tt> component
+of the <tt>-d:pserver:</tt> option preceding the <tt>user@machine</tt> field is not
+used if you go the CVSROOT route. This is not a typo. That is to say, when you set
+<tt>CVSROOT</tt> instead of typing out the whole command, the server effectively
+assumes an implicit <tt>-d</tt>. "Historically," <tt>-d</tt> means that the
+repository specification (in this case <tt>/cvsroot/jboss</tt>) is "directory
+relative," but what it really means is "dumb" because like most historical
+explanations, this explains nothing. The <tt>-d</tt> is just an extra piece of
+nonsense you have to type if you don't set CVSROOT. Why ask why?
+<p>
+<li>
+Next, type:
+<p>
+<pre class="command">
+cvs co -r Branch_3_0 jboss-3.0
+</pre>
+<p>
+or, if you're into all things -d, type:
+<pre class="command">
+cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvsroot/jboss co -r
+Branch_3_0 jboss-3.0
+</pre>
+<p>
+In the current JBoss cosmology, which is subject to quantum fluctuations of arbitrary
+magnitude, the general form of the command for checking out a <em>branch</em> module
+is:
+<pre class="command">
+cvs [z(1-9) -d:pserver:user@domain:/<path-to-remote-repository>] co -r
+<branch-tag> <module-name>
+</pre>
+<p>
+The <tt>-z3</tt> denotes the compression level. Why? Because "compression"
+starts with a "z." It's all completely logical. As far as I can tell the
+compression level is another wheel that turns but connects with nothing - but I could
+be wrong. The <tt>-r</tt> signifies
+"release," which is a synonym for "branch." Notice that, counter-intuitively,
+the branch tag <em>precedes</em> the module tag. The memory hook is the
+ubiquitous <em>its not the way it should be</em>. Logically, we think module
+(genera) followed by branch (species). We like top-down parsers because they are easy
+to understand. We are Pythagoreans and Platonists at heart. And then the
+rude designers of CVS had to come along and mess everything up with their
+backward and perverted syntax. Isn't it a crying shame?
+<p>
+<em>Long-winded documentation is incremental homicide.</em>
+<p>
+The abbreviated notation (which assumes that you set CVSROOT) for checking out a
+"trunk" module is simply:
+<p>
+<pre class="command">
+cvs co <module-name>
+</pre>
+<p>
+The <tt>-d</tt> syntax for the trunk checkout is left as an exercise for the reader.
+Of course, trunk modules <em>never</em> build here at JBoss because that would make
+things <em>way</em> too simple.<p>
+Oh yeah - I almost forgot - "co" is just an abbreviation for "checkout," not
+"company," or "co-op," or "communism," or "cosmological constant," (like you were
+thinking). So wherever "co" appears above, it can be replaced with "checkout." I know
+this is a difficult concept, so I'll spell out the fully expanded version of the
+abbreviated syntax:
+<pre class="command">
+cvs checkout -r Branch_3_0 jboss-3.0
+</pre>
+<p>
+<li>
+Enough of that. Wait for the server to spew, then take a break. The download should
+take a while to complete. In my case, the last package was the sax parser. If it
+stalls (for, like, 5 minutes or some incredibly long time), hit CNTL-C, cd to the
+<module-name> directory and type:
+<p>
+<pre class="command">
+cvs update [-d]
+</pre>
+<p>
+You might want to do this even if it completes - in case some files were "overlooked"
+by the server (which has been known to happen on more than one occasion). But I
+recommend not updating unless you are sure that something is wrong. If it doesn't
+itch don't scratch. By theway, the optional -d accompanying the <tt>update</tt> is
+reputedly meaningful - so it is not the same as the <tt>-d</tt> accompanying the
+<tt>checkout</tt> command. After all, the commands are different.
+<p>
+<li>
+Once you are sure, or at least have adequate evidence for believing that you have the
+latest version of all the files, cd to the "build" subdirectory and type:
+<p>
+<pre class="command">
+./build.sh
+</pre>
+<p>
+<li>
+If it builds, go celebrate (or do whatever your favorite activity is that rhymes with
+"celebrate.") If it fails, make sure you are running a standard VM, preferably Sun's
+JDK 1.4.1. JBoss uses the first VM on your path and ignores JAVA_HOME. <b>Regarding
+ant, I am a little confused myself - the build scripts appear to ignore the local
+installation, but I read somewhere that you must have at least ant 1.5 (ant-1.5.1 was
+the latest release at the time of the writing of this section). </b>As a
+second-to-last, or, as your high-school English teacher was fond of saying,
+"penultimate" resort (the ultimate resort for pens), choose a different module (e.g.,
+jboss-all instead of jboss-3.0). As a <em>last</em> resort, try another build
+altogether.
+<b>
+<p>
+<em> NOTE: Red Hat 8.0 will put a non-standard VM on your path that is not compatible
+with JBoss.
+This will cause the build to fail mysteriously.</em></b> On my machine, I get
+this particular succulent morsel of textual excrement:
+<p>
+<tt>
+generate-parsers:<br>
+ [mkdir] Created dir:
+/home/ben/source/jboss-3.0/server/output/parsers/org/jboss/ejb/plugins/cmp/ejbql<br>
+
+ [jjtree] Warning:
+-OUTPUT_DIRECTORY:/home/ben/source/jboss-3.0/server/output/parsers/org/jboss/ejb/plugins/cm<br>
+
+p/ejbql not understood. Ignoring.<br>
+
+ [jjtree] Java Compiler Compiler Version 2.0 (Tree Builder)<br>
+
+ [jjtree] Copyright (c) 1996-2000 Sun Microsystems, Inc.<br>
+
+ [jjtree] Copyright (c) 1997-2000 Metamata, Inc.<br>
+
+ [jjtree] (type "jjtree" with no arguments for help)<br>
+
+ [jjtree] Reading from file
+/home/ben/source/jboss-3.0/server/src/main/org/jboss/ejb/plugins/cmp/ejbql/JBossQL<br>
+
+Parser.jjt . . .<br>
+
+ [jjtree] Annotated grammar generated successfully in JBossQLParser.jj
+
+BUILD FAILED
+/home/ben/source/jboss-3.0/server/build.xml:352: Invalid target:
+/home/ben/source/jboss-3.0/server/output/parser
+s/org/jboss/ejb/plugins/cmp/ejbql/JBossQLParser.jj<br>
+
+
+Total time: 2 minutes 16 seconds<br>
+
+[ben@entelechy build]$<br>
+
+</tt>
+
+<p> but only if if I forget to fix my path (by tacking the standard JDK path onto the
+front of the system path before running the build.
+Note that the above error message provides no indication (except perhaps the
+copyright dates) whatsoever that the JVM is a "Red Hat special," i.e., nonstandard
+distribution of "1.3.1":
+<p>
+<tt>
+[ben@entelechy build]$ java -version
+<br>java version "1.3.1"
+<br>jdkgcj 0.2.3 (http://www.arklinux.org/projects/jdkgcj)
+<br>gcj (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
+<br>Copyright (C) 2002 Free Software Foundation, Inc.
+<br>This is free software; see the source for copying conditions. There is NO
+<br>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+<p>
+</tt>
+Indeed. <em>Deny everything.</em>
+<p>
+In my experience, Linux distributions do not include Java - not even on the
+CD. So, righteously or not, I got burned when I upgraded from 7.3 to 8.0 and failed
+to verify my
+default JVM (the one on your PATH in /usr/bin or such like).
+<p>
+<li>
+Whenever you get lucky (yes, successfully building JBoss is kind of like getting
+laid), summarily cd to the <tt>output/bin</tt> subdirectory of the <tt>build</tt>
+subdirectory of <module-name>, and type:
+<p>
+<pre class="command">
+./run.sh
+</pre>
+<p>
+<li>
+Pray to your god.
+<li>
+<p>
+If it runs (actually it usually does run if it builds), point your browser to:
+<p>
+<li>
+<a href="http://localhost:8080/jmx-console">"http://localhost:8080/jmx-console</a>
+I just tested this on the module/branch combination mentioned above and it works on
+8080, but the
+the JBoss <em>illuminati</em>, the Lords of Internet Application Server Destiny,
+frequently change the port - so you might need to use a port scanner (like nmapfe) to
+locate the secret port.
+<li>
+<p>
+Run the tests or pound away at the attractive gray buttons on the html-based console
+until it barfs an exception - then keep pounding - this is the fun part where you get
+to take your pent-up aggressions out on an inanimate object.
+<p>
+</ol>
+<p>
+<tt>
+<pre>
+# $Id: modules,v 1.197 2002/10/29 04:19:22 cooperfbi Exp $
+
+# Three different line formats are valid:
+# key -a aliases...
+# key [options] directory
+# key [options] directory files...
+#
+# Where "options" are composed of:
+# -i prog Run "prog" on "cvs commit" from top-level of module.
+# -o prog Run "prog" on "cvs checkout" of module.
+# -e prog Run "prog" on "cvs export" of module.
+# -t prog Run "prog" on "cvs rtag" of module.
+# -u prog Run "prog" on "cvs update" of module.
+# -d dir Place module in directory "dir" instead of module name.
+# -l Top-level directory only -- do not recurse.
+#
+# NOTE: If you change any of the "Run" options above, you'll have to
+# release and re-checkout any working directories of these modules.
+#
+# And "directory" is a path to a directory relative to $CVSROOT.
+#
+# The "-a" option specifies an alias. An alias is interpreted as if
+# everything on the right of the "-a" had been typed on the command line.
+#
+# You can encode a module within a module by using the special '&'
+# character to interpose another module into the current module. This
+# can be useful for creating a module that consists of many directories
+# spread out over the entire source repository.
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+##
+## Common shared tools and thirdparty support libraries.
+##
+
+tools -d tools tools
+thirdparty -d thirdparty thirdparty
+
+# needs some help to be effectivly used
+tools-win32 -d tools tools-win32
+
+
+##
+## JBoss Project (HEAD)
+##
+
+# Module definitions
+_jboss_build -d build build/jboss
+_jboss_common -d common jboss-common
+_jboss_system -d system jboss-system
+_jboss_ejb -d ejb jboss-ejb
+_jboss_server -d server jboss
+_jboss_naming -d naming jnp
+_jboss_security -d security jbosssx
+_jboss_testsuite -d testsuite jbosstest
+_jboss_pool -d pool jbosspool
+_jboss_cluster -d cluster jbossmx
+_jboss_manual -d manual manual
+_jboss_jmx -d jmx jmx
+_jboss_connector -d connector jbosscx
+_jboss_j2ee -d j2ee jboss-j2ee
+_jboss_messaging -d messaging jbossmq
+_jboss_management -d management jboss-management
+_jboss_transaction -d transaction jboss-transaction
+_jboss_blocks -d blocks jboss-blocks
+_jboss_console -d console jboss-console
+_jboss_varia -d varia contrib/varia
+_jboss_jetty -d jetty contrib/jetty
+_jboss_catalina -d catalina contrib/catalina
+_jboss_catalina41 -d tomcat41 contrib/tomcat41
+_jboss_dotnet -d jboss.net contrib/jboss.net
+_jboss_iiop -d iiop contrib/iiop
+
+# Project definition
+jboss-head -d jboss-head \
+ build/jboss/etc/root \
+ &tools \
+ &_jboss_build \
+ &_jboss_j2ee \
+ &_jboss_common \
+ &_jboss_system \
+ &_jboss_naming \
+ &_jboss_server \
+ &_jboss_ejb \
+ &_jboss_pool \
+ &_jboss_connector \
+ &_jboss_messaging \
+ &_jboss_security \
+ &_jboss_cluster \
+ &_jboss_jmx \
+ &_jboss_varia \
+ &_jboss_testsuite \
+ &_jboss_jetty \
+ &_jboss_catalina \
+ &_jboss_catalina41 \
+ &_jboss_dotnet \
+ &_jboss_iiop \
+ &_jboss_management \
+ &_jboss_blocks \
+ &_jboss_transaction \
+ &_jboss_console \
+ &_jboss_thirdparty
+
+# Project thirdparty support definition
+_jboss_thirdparty -d thirdparty \
+ &_thirdparty_jboss_plastic \
+ &_thirdparty_apache_axis \
+ &_thirdparty_apache_log4j \
+ &_thirdparty_apache_bcel \
+ &_thirdparty_apache_xalan \
+ &_thirdparty_exolab_castor \
+ &_thirdparty_exolab_tyrex \
+ &_thirdparty_gnu_getopt \
+ &_thirdparty_gnu_regexp \
+ &_thirdparty_hsqldb_hsqldb \
+ &_thirdparty_javagroups_javagroups \
+ &_thirdparty_junit_junit \
+ &_thirdparty_sun_jaas \
+ &_thirdparty_sun_jaf \
+ &_thirdparty_sun_javacc \
+ &_thirdparty_sun_javamail \
+ &_thirdparty_sun_jaxp \
+ &_thirdparty_sun_jsse \
+ &_thirdparty_sun_jts \
+ &_thirdparty_sun_jce \
+ &_thirdparty_sun_jmx \
+ &_thirdparty_sun_servlet \
+ &_thirdparty_gjt_jpl-util \
+ &_thirdparty_jacorb_jacorb \
+ &_thirdparty_ibm_uddi4j \
+ &_thirdparty_ibm_wsdl4j \
+ &_thirdparty_mysql_mysql \
+ &_thirdparty_jdom_beta-7 \
+ &_thirdparty_dom4j_dom4j \
+ &_thirdparty_oswego_concurrent \
+ &_thirdparty_xdoclet_xdoclet \
+ &_thirdparty_xml_sax
+
+##
+## JBoss Project (3.0.x) also known as jboss-all
+##
+## NOTE: You still must specify the -r Branch_3_0 to get the correct
+## version of this project. This only provides proper structure
+## it can not specify the CVS tag.
+##
+
+# Project definition
+jboss-all -d jboss-all \
+ build/jboss/etc/root \
+ &tools \
+ &_jboss_build \
+ &_jboss_j2ee \
+ &_jboss_common \
+ &_jboss_system \
+ &_jboss_naming \
+ &_jboss_server \
+ &_jboss_ejb \
+ &_jboss_pool \
+ &_jboss_connector \
+ &_jboss_messaging \
+ &_jboss_security \
+ &_jboss_cluster \
+ &_jboss_jmx \
+ &_jboss_varia \
+ &_jboss_testsuite \
+ &_jboss_jetty \
+ &_jboss_catalina \
+ &_jboss_catalina41 \
+ &_jboss_dotnet \
+ &_jboss_iiop \
+ &_jboss_management \
+ &_jboss_blocks \
+ &_jboss_transaction \
+ &_jboss_console \
+ &_jboss-3.0_thirdparty
+
+jboss-3.0 -d jboss-3.0 \
+ build/jboss/etc/root \
+ &tools \
+ &_jboss_build \
+ &_jboss_j2ee \
+ &_jboss_common \
+ &_jboss_system \
+ &_jboss_naming \
+ &_jboss_server \
+ &_jboss_ejb \
+ &_jboss_pool \
+ &_jboss_connector \
+ &_jboss_messaging \
+ &_jboss_security \
+ &_jboss_cluster \
+ &_jboss_jmx \
+ &_jboss_varia \
+ &_jboss_testsuite \
+ &_jboss_jetty \
+ &_jboss_catalina \
+ &_jboss_catalina41 \
+ &_jboss_dotnet \
+ &_jboss_iiop \
+ &_jboss_management \
+ &_jboss_blocks \
+ &_jboss_transaction \
+ &_jboss_console \
+ &_jboss-3.0_thirdparty
+
+# Project thirdparty support definition
+_jboss-3.0_thirdparty -a \
+ thirdparty/jboss/plastic \
+ thirdparty/apache \
+ thirdparty/exolab \
+ thirdparty/gnu \
+ thirdparty/hsqldb \
+ thirdparty/javagroups \
+ thirdparty/junit \
+ thirdparty/sun \
+ thirdparty/gjt \
+ thirdparty/jacorb \
+ thirdparty/ibm \
+ thirdparty/techtrader \
+ thirdparty/mysql \
+ thirdparty/jdom \
+ thirdparty/dom4j \
+ thirdparty/junitejb \
+ thirdparty/oasis \
+ thirdparty/oswego \
+ thirdparty/xdoclet \#
+ &_jboss_naming \
+ &_jboss_server \
+ &_jboss_ejb \
+ &_jboss_pool \
+ &_jboss_connector \
+ &_jboss_messaging \
+ &_jboss_security \
+ &_jboss_cluster \
+ &_jboss_jmx \
+ &_jboss_varia \
+ &_jboss_testsuite \
+ &_jboss_jetty \
+ &_jboss_catalina \
+ &_jboss_catalina41 \
+ &_jboss_dotnet \
+ &_jboss_iiop \
+ &_jboss_management \
+ &_jboss_blocks \
+ &_jboss_transaction \
+ &_jboss_console \
+ &_jboss-3.0_thirdparty
+
+jboss-3.0 -d jboss-3.0 \
+ build/jboss/etc/root \
+ &tools \
+ &_jboss_build \
+ &_jboss_j2ee \
+ &_jboss_common \
+ &_jboss_system \
+ &_jboss_naming \
+ &_jboss_server \
+ &_jboss_ejb \
+ &_jboss_pool \
+ &_jboss_connector \
+ &_jboss_messaging \
+ &_jboss_security \
+ &_jboss_cluster \
+ &_jboss_jmx \
+ &_jboss_varia \
+ &_jboss_testsuite \
+ &_jboss_jetty \
+ &_jboss_catalina \
+ &_jboss_catalina41 \
+ &_jboss_dotnet \
+ &_jboss_iiop \
+ &_jboss_management \
+ &_jboss_blocks \
+ &_jboss_transaction \
+ &_jboss_console \
+ &_jboss-3.0_thirdparty
+
+
+</tt>
+
</body>
</html>
On Fri, 2002-11-01 at 08:00, Ben Tompkins wrote:
> test2
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by: See the NEW Palm
> Tungsten T handheld. Power & Color in a compact size!
> http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
-------------------------------------------------------
This sf.net email is sponsored by: See the NEW Palm
Tungsten T handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development