Hi,
This is a guide on running Tomcat (5.0.27) under Kaffe (1.1.4PRE1.1.5-11) currently in Debian unstable.
* Install kaffe and any compiler from Debian unstable * # apt-get install -t unstable kaffe jikes-kaffe
* Download Tomcat 5.0.27 from apache *
* Make sure JAVA_HOME points to kaffe * [EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ echo $JAVA_HOME /usr/lib/kaffe/
* Since kaffe does not come with mx4j, we have to use the one distributed with tomcat by editing bin/catalina.sh . *
[EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ diff -u bin/catalina.sh-old bin/catalina.sh
--- bin/catalina.sh-old 2004-06-18 09:00:14.000000000 +0800
+++ bin/catalina.sh 2004-07-16 23:10:41.000000000 +0800
@@ -101,6 +101,7 @@
if [ -n "$JSSE_HOME" ]; then
CLASSPATH="$CLASSPATH":"$JSSE_HOME"/lib/jcert.jar:"$JSSE_HOME"/lib/jnet.jar:"$JSSE_HOME"/lib/jsse.jar
fi
+CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/jmx.jar
CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/commons-logging-api.jar
* Since somewhere in Coyote javax.security.auth is refered but not used, a dummy class is created to make the class loadable. *
if [ -z "$CATALINA_BASE" ] ; then
[EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ echo "package javax.security.auth; public class Subject {}" > Subject.java
[EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ jikes-kaffe Subject.java -d common/classes/
* Run tomcat now. * [EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ bin/catalina.sh run Using CATALINA_BASE: /home/sltam/jakarta-tomcat-5.0.27 Using CATALINA_HOME: /home/sltam/jakarta-tomcat-5.0.27 Using CATALINA_TMPDIR: /home/sltam/jakarta-tomcat-5.0.27/temp Using JAVA_HOME: /usr/lib/kaffe
* Discussion *
Wait for a few seconds and http://localhost:8080/ should be ready.
To access the tomcat admin/manager, add a user into conf/tomcat-users.xml to "admin" and "manager" group respectively and restart the server.
To access the tomcat5 admin, install libcommons-beanutils-java, libcommons-digester-java.jar and libstruts-1.1-java and symlink the respective jar files into common/lib.
If you want to see the logs from catalina:
$ export JAVA_OPTS="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog"
I have no idea why this is not the default, but anyway it works.
* Remarks *
A screenshot of the manager interface is attached.
If you don't like the commons-dbcp (>= 1.2.1), commons-pool (>= 1.2) and (commons-logging >= 1.0.4) dependency, which is not available even in Debian unstable, you can also try tomcat 5.0.25 and it should also works as expected.
I suppose all components in this installation are free (javax.security.auth.* should be stubbed somehow), and most of them has been reported to compile under kaffe/sablevm. It is just a matter time until we see all of them available in main.
Thanks folks from Debian, Kaffe and GNU for your great work!
-- Regards, Alan
<<inline: SCREEN.PNG>>