Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   General Linux Support (https://www.gnutellaforums.com/general-linux-support/)
-   -   Give them a rest ... (https://www.gnutellaforums.com/general-linux-support/40827-give-them-rest.html)

Misterfixit July 9th, 2005 05:44 PM

Give them a rest ...
 
It's obvious by now that both the pro and regular version of LimeWire for Linux is suffering from some very serious problems.

I got a call yesterday from a tech guy after I had posted several times in the sticky forum. Also, I have e-mailed directly to another tech guy for advice. The one guy said he had to get a person "familiar with Linux" to look at my output. Meanwhile I got an explanation.

Basically, if I understand the situation correctly, there is something in the way SELinux and Fedora Core 3 reacts with some scripts in LimeWire.

For example, when java is installed in any folder other than where the LimeWIre script expects it to be, there is a fault which says, java isn't there. Then the install script searchs and if it is present in another directory, finds java and tries to use it. There is a permissions problem there, evidently.

Next, the issue of having to open a super user terminal window and type "limewire" to start the GUI LimeWire has something to do with the SELinux configuration. For example, before I got LimeWire Pro and completely hosed my system, I could actually start two LimeWIre episodes at the same time (naturally). One by opening a superuser terminal and running LimeWire as root and then going to a non-su terminal and running another LimeWire as user. Both settings were different, of course. We don't want to be running LimeWire as root in my opinion under any circumstances.

Wiping the system clean of all LimeWIre and all Java is also problematic. There seems to be code or scripts left behind (just like Windows and those unused dll's and other registry orphans) which tell the new installation that there is already an installation present. None of the usual "use rpm to remove" stuff works, since the LimeWire package evidently sends off scripts which are no longer identifiable as part of the rpm package to be removed using the rpm removal routine. Even doing a find for anything with the "java" and "limewire" in it and then deleting all of those items didn't work.

By the way, when I ran the free LimeWIre as root it worked perfectly the first time except for periodic crashes due to java exceptions.

Tomorrow I am going to build a Fedora _2_ box as a test bed. I will limit the installation to a basic KDE FC2 box. I will d/l java and install and then d/l the free LimeWire and install .. both going exactly as the directions state.

I'll report back here if that is a success.

My expectation is that when LimeWIre is installed there should be either an icon on the desktop or a line in the "applications" popup just like there is when kaffeine is installed, for example.

Meanwhile I think we ought to give the LimeWire techies a rest and not keep posting that our LimeWire Pro fails to work. We all know it doesn't work, so we just have to sit back and let them fix it. They evidently are working overtime trying to fix this problem for us Linux people and we should give them credit for that.

CWO4Mann July 10th, 2005 11:13 AM

Fedora Core 2 and LimeWIre test is successful
 
OK, I finished the FC2 project:

I took an old Dell box with a 80GB HD and 1.2 Ghz processor, 1GB of RAM and low level formatted the hard drive (yes, I do know what "low level formatting means, so don't ask if I "really did that")

I used a set of Fedora Core 2 CD's which I downloaded and burned some time ago to boot up and install to the machine as a single boot, Fedora Core 2 box.

I used the "minimum installation" option and selected KDE as the X GUI.

I went to the Sun web site and downloaded the Java Run Environment (JRE) package which is named: "J2SE v 1.4.2_08 JRE includes the JVM technology" from the Sun web site
( http://java.sun.com/j2se/1.4.2/download.html )

I used the rpm installer to install the JRE and after installation I used a user terminal to do the check. Java installed correctly.

Then I went to the Limewire web site and downloaded the LimeWire free edition from
http://www.limewire.com/english/cont...loadfree.shtml

Using the rpm installer again, LimeWIre was installed.

I went to the desktop gui and looked for either in icon or a LimeWire command in the pop=up menu. I found LimeWire in the area labeled "Internet"

I clicked on that line and LimeWire's gui began on screen and opened the application.

I configured my personal preferences and immediately began downloading successfully.

I placed the CD with LimeWIrePro in it and installed using the rpm installer and it installed over the existing fre LimeWire.

LimeWIre Pro now works as well.

This test proves to me that the LimeWire installation for Fedora Core 3 with SELinux is hosed.

HTH

Dave

Misterfixit July 10th, 2005 12:22 PM

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

sberlin July 10th, 2005 04:22 PM

Get the beta version. It fixed some problems with the run script.


All times are GMT -7. The time now is 08:39 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.