View Single Post
  #3 (permalink)  
Old July 10th, 2005
Misterfixit Misterfixit is offline
Disciple
 
Join Date: May 25th, 2002
Location: Nashville, TN
Posts: 11
Misterfixit is flying high
Default Debugging FC3 Revisited

OK, I am back on my FC3 box while my FC2 box is downloading mucho pron ;-)

Stay with me now and we will see how this works out.

First, here is the failure output from the attempt to run LimeWIre under FC3 as user "dave":

[root@localhost dave]# limewire
Starting LimeWire...
Java exec found in PATH. Verifying...
Suitable java version found [java = 1.4.2]
Configuring environment...
Loading LimeWire:
Warning: -jar not understood. Ignoring.
Exception in thread "main" java.lang.NoClassDefFoundError: LimeWire.jar
at gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.5.0.0)
at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0)
at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib/libgcj.so.5.0.0)
at __gcj_personality_v0 (/usr/lib/LimeWire/java.home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre)
at __libc_start_main (/lib/tls/libc-2.3.5.so)
at _Jv_RegisterClasses (/usr/lib/LimeWire/java.home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre)

**********************************
Something went wrong with LimeWire.
Maybe you're using the wrong version of Java?
(LimeWire is tested against and works best with with Sun's JRE, Java 1.4+)
The version of Java in your PATH is:
java version "1.4.2"
jdkgcj 0.3.1 (http://www.arklinux.org/projects/jdkgcj)
gcj (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

OK, what does this mean?

FIrst of all, the script "runLime.sh" ran completely. That script is as follows:

#!/bin/sh
#
# Runs LimeWire. This script must be executed in your LimeWire
# install directory.
# try to discover java
MSG0="Loading LimeWire:"
MSG1="Starting LimeWire..."
MSG2="Java exec found in "
MSG3="OOPS, your java version is too old "
MSG4="You need to upgrade to JRE 1.4.x or newer from http://www.java.com"
MSG5="Suitable java version found "
MSG6="Configuring environment..."
MSG7="OOPS, you don't seem to have a valid JRE. LimeWire works best with Sun JRE available at http://www.java.com "
MSG8="OOPS, unable to locate java exec in "
MSG9=" hierarchy"
MSG10="Java exec not found in PATH, starting auto-search..."
MSG11="Java exec found in PATH. Verifying..."
look_for_java()
{
JAVADIR=/usr/java
IFS=$'\n'
potential_java_dirs=(`ls -1 "$JAVADIR" | sort | tac`)
IFS=
for D in "${potential_java_dirs[@]}"; do
if [[ -d "$JAVADIR/$D" && -x "$JAVADIR/$D/bin/java" ]]; then
JAVA_PROGRAM_DIR="$JAVADIR/$D/bin/"
echo $MSG2 $JAVA_PROGRAM_DIR
if check_version ; then
return 0
else
return 1
fi
fi
done
echo $MSG8 "${JAVADIR}/" $MSG9 ; echo $MSG4
return 1
}

check_version()
{
JAVA_HEADER=`${JAVA_PROGRAM_DIR}java -version 2>&1 | head -n 1`
JAVA_IMPL=`echo ${JAVA_HEADER} | cut -f1 -d' '`
if [ "$JAVA_IMPL" = "java" ] ; then
VERSION=`echo ${JAVA_HEADER} | sed "s/java version \"\(.*\)\"/\1/"`
if echo $VERSION | grep "^1.[0-3]" ; then
echo $MSG3 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG4
return 1
else
echo $MSG5 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG6
return 0
fi
else
echo $MSG7 "[${JAVA_PROGRAM_DIR}java = ${JAVA_IMPL}]" ; echo $MSG4
return 1
fi
}

echo $MSG1

# locate and test the java executable
if [ `uname` = "Linux" ]; then
if ! command -v java &>/dev/null; then
echo $MSG10
if ! look_for_java ; then
exit 1
fi
else
echo $MSG11
if ! check_version ; then
if ! look_for_java ; then
exit 1
fi
fi
fi
else
JAVA_PROGRAM_DIR=""
fi

echo $MSG0

export J2SE_PREEMPTCLOSE=1

${JAVA_PROGRAM_DIR}java -Dorg.apache.commons.logging.Log=org.apache.commons .logging.impl.NoOpLog -Djava.library.path=. -jar LimeWire.jar
if [ $? -ne 0 ]; then
echo
echo "************************************************* *****************"
echo "Something went wrong with LimeWire."
echo "Maybe you're using the wrong version of Java?"
echo "(LimeWire is tested against and works best with with Sun's JRE, Java 1.4+)"
echo "The version of Java in your PATH is:"
java -version
echo
fi


Notice that the error message is (of course) the same as contained in the script's instructions.

Next: I try to find out exactly where in the script, runLime.sh did the fault occur.

Understand that I am an old Cobol programmer from the 1960's and 70's who wrote applications in job control language and some Pascal apps. So, some of my conclusions may seem st00p!D to the Real Nerds out there reading this.

Here is the smoking gun:

Warning: -jar not understood. Ignoring.
Exception in thread "main" java.lang.NoClassDefFoundError: LimeWire.jar
at gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.5.0.0)
at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0)
at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib/libgcj.so.5.0.0)
at __gcj_personality_v0 (/usr/lib/LimeWire/java.home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre)
at __libc_start_main (/lib/tls/libc-2.3.5.so)
at _Jv_RegisterClasses (/usr/lib/LimeWire/java.home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre)

A search rendered this anwer to the error line Exception in thread "main" java.lang.NoClassDefFoundError

"Probably a failure to find the correct path". With this instruction:

Set the PATH environment variable: (/etc/profile or .bashrc).

PATH="$PATH:/usr/java/j2sdk1.4.2_03/bin:."
export PATH

Go here for further infos:

http://www.linuxforums.org/forum/post-225888.html

Next, I went ahead and did the PATH command:

[root@localhost dave]# PATH="$PATH:/usr/java/jre1.5.0_04/bin:."
[root@localhost dave]# export PATH

The same error message was received after commanding limewire.

Next I went to some more forums and found that this is a very common error with no quick answers that I could find:

Look here for an example:

http://www.linuxforums.org/forum/top...light=limewire

So much for right now. I will continue the investigation after I get through with doing a BBQ of some bratwursts, drinking some beer and generally chilling out this afternoon.

Dave
Reply With Quote