I did a grep for BASEDIR in the bin folder and came up with:
[bear@booboo bin]$ grep BASEDIR * catalina.sh: BASEDIR="$CATALINA_HOME" setclasspath.sh:if [ -z "$BASEDIR" ]; then setclasspath.sh: echo "The BASEDIR environment variable is not defined" setclasspath.sh:if [ ! -r "$BASEDIR"/bin/setclasspath.sh ]; then setclasspath.sh: echo "The BASEDIR environment variable is not defined correctly" setclasspath.sh:JAVA_ENDORSED_DIRS="$BASEDIR"/common/endorsed tool-wrapper.sh: BASEDIR="$CATALINA_HOME" tool-wrapper.sh:CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$BASEDIR"/common/lib/jmx.jar
This is for a Tomcat 5.0.25 installation. I made no changes to the files.
I had the same problem you did, but it did not go away with 5. Finally I noticed that the other .sh files lacked execute. Once I put it on them, it started fine. Before that, it just complained about the BASEDIR.
Using CATALINA_BASE: /Library/apache-tomcat-5.5.20 Using CATALINA_HOME: /Library/apache-tomcat-5.5.20 Using CATALINA_TMPDIR: /Library/apache-tomcat-5.5.20/temp Using JRE_HOME: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
Check your setting for CATALINA_HOME, BASEDIR is set to this value in catalina.sh.
I haven't modified any of the script files. I set $JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
still getting same error. only thing I can think of is maybe the envirnment variables scope. so far i've been setting them in my .profile so it works when i type echo $JAVA_HOME, but its not listed when i type env. Can you please tell me how to make the variables global? maybe that would work