Error in nohup.out -> java.lang.NoClassDefFoundError cant launch wildfire

I just downloaded a fresh tar.gz copy of wildfire3.0 to my ubuntu6.06 server and i cannot get the wildfire process to start so i can begin my setup. I alway get the following message in nohup.out, and then the process dies silently…

Exception in thread “main” java.lang.NoClassDefFoundError: com/install4j/runtime/Launcher

I have loaded on the sun JVM from the ubuntu multiverse repo, and verified that it is the current java version -

wildfire@MX1:~$ java -version

java version “1.5.0_06”

Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)

Java HotSpot™ Server VM (build 1.5.0_06-b05, mixed mode)

I found another thread that had what seemed to be the same issue (http://www.jivesoftware.org/community/thread.jspa?messageID=121002&#121002), but it appers to have gone unresolved. I the mentioned thread one person requested a copy of the output when sh -x ./wildfire start is run, so i will attach my output below.

Any help would be appreciated, I have used wildfire for quite a while now on my personal server (v2.5 currently, but I go back to early jive messenger) and would like to bring this wonderful project to my company.

wildfire@MX1:/usr/local/bin/wildfire/bin$ sh -x ./wildfire start

++ pwd

  • old_pwd=/usr/local/bin/wildfire/bin

++ basename ./wildfire

  • progname=wildfire

++ dirname ./wildfire

  • linkdir=.

  • cd .

  • prg=wildfire

  • ‘’[’’ -h wildfire ‘’]’’

++ dirname wildfire

  • prg_dir=.

  • cd .

++ pwd

  • prg_dir=/usr/local/bin/wildfire/bin

  • app_home=…/

  • cd …/

++ pwd

  • app_home=/usr/local/bin/wildfire

  • bundled_jre_home=/usr/local/bin/wildfire/jre

  • cd /usr/local/bin/wildfire/bin/.

  • ‘’[’’ -f /usr/local/bin/wildfire/jre/lib/rt.jar.pack ‘’]’’

  • ‘’[’’ -z ‘’’’ ‘’]’’

  • test_jvm

  • tested_jvm=na

  • test_dir=

  • bin_dir=/bin

  • java_exc=/bin/java

  • ‘’[’’ -z ‘’’’ ‘’]’’

  • return

  • ‘’[’’ -z ‘’’’ ‘’]’’

  • ‘’[’’ -f /usr/local/bin/wildfire/.install4j/pref_jre.cfg ‘’]’’

  • ‘’[’’ -z ‘’’’ ‘’]’’

++ which java

  • path_java=/usr/bin/java

++ expr /usr/bin/java : ‘’(.*)/bin/java$’’

  • path_java_home=/usr

  • test_jvm /usr

  • tested_jvm=na

  • test_dir=/usr

  • bin_dir=/usr/bin

  • java_exc=/usr/bin/java

  • ‘’[’’ -z /usr ‘’]’’

  • ‘’[’’ ‘’!’’ -d /usr/bin ‘’]’’

  • ‘’[’’ ‘’!’’ -f /usr/bin/java ‘’]’’

  • ‘’[’’ ‘’!’’ -x /usr/bin/java ‘’]’’

  • tested_jvm=false

  • read_db_entry

  • ‘’[’’ -n ‘’’’ ‘’]’’

  • db_file=/home/wildfire/.install4j

  • ‘’[’’ ‘’!’’ -f /home/wildfire/.install4j ‘’]’’

  • ‘’[’’ ‘’!’’ -x /usr/bin/java ‘’]’’

  • found=1

  • exec

  • read r_type r_dir r_ver_major r_ver_minor r_ver_micro r_ver_patch

  • ‘’[’’ JRE_VERSION = JRE_VERSION ‘’]’’

  • ‘’[’’ /usr = /usr ‘’]’’

  • ver_major=1

  • ver_minor=5

  • ver_micro=0

  • ver_patch=06

  • found=0

  • break

  • exec

  • return 0

  • ‘’[’’ 1 = ‘’’’ ‘’]’’

  • ‘’[’’ 1 -lt 1 ‘’]’’

  • ‘’[’’ 1 -eq 1 ‘’]’’

  • ‘’[’’ 5 -lt 5 ‘’]’’

  • ‘’[’’ 1 = ‘’’’ ‘’]’’

  • app_java_home=/usr

  • ‘’[’’ -z /usr ‘’]’’

  • ‘’[’’ -z /usr ‘’]’’

  • ‘’[’’ -z /usr ‘’]’’

  • ‘’[’’ -z /usr ‘’]’’

  • ‘’[’’ -z /usr ‘’]’’

  • ‘’[’’ -z /usr ‘’]’’

  • vmoptions_val=

  • vmoptions_file=/usr/local/bin/wildfire/bin/wildfire.vmoptions

  • ‘’[’’ -r /usr/local/bin/wildfire/bin/wildfire.vmoptions ‘’]’’

  • INSTALL4J_ADD_VM_PARAMS=’’ ‘’

  • local_classpath=

  • add_class_path /usr/local/bin/wildfire/.install4j/i4jruntime.jar

  • ‘’[’’ -n /usr/local/bin/wildfire/.install4j/i4jruntime.jar ‘’]’’

++ expr /usr/local/bin/wildfire/.install4j/i4jruntime.jar : ‘’.****’’

  • ‘’[’’ 0 -eq 0 ‘’]’’

  • local_classpath=/usr/local/bin/wildfire/.install4j/i4jruntime.jar

  • ‘’[’’ ‘’!’’ -d /usr/local/bin/wildfire/lib ‘’]’’

++ ls /usr/local/bin/wildfire/lib

++ egrep ‘’.(jar$|zip$)’’

  • for i in ‘’ls "$app_home/lib" | egrep "\.(jar$|zip$)"’’

  • add_class_path /usr/local/bin/wildfire/lib/activation.jar

  • ‘’[’’ -n /usr/local/bin/wildfire/lib/activation.jar ‘’]’’

++ expr /usr/local/bin/wildfire/lib/activation.jar : ‘’.****’’

  • ‘’[’’ 0 -eq 0 ‘’]’’

  • local_classpath=/usr/local/bin/wildfire/.install4j/i4jruntime.jar:/usr/local/bi n/wildfire/lib/activation.jar

  • for i in ‘’ls "$app_home/lib" | egrep "\.(jar$|zip$)"’’

  • add_class_path /usr/local/bin/wildfire/lib/bouncycastle.jar

  • ‘’[’’ -n /usr/local/bin/wildfire/lib/bouncycastle.jar ‘’]’’

++ expr /usr/local/bin/wildfire/lib/bouncycastle.jar : ‘’.****’’

  • ‘’[’’ 0 -eq 0 ‘’]’’

  • local_classpath=/usr/local/bin/wildfire/.install4j/i4jruntime.jar:/usr/local/bi n/wildfire/lib/activation.jar:/usr/local/bin/wildfire/lib/bouncycastle.jar

  • for i in ‘’ls "$app_home/lib" | egrep "\.(jar$|zip$)"’’

  • add_class_path /usr/local/bin/wildfire/lib/jdic.jar

  • ‘’[’’ -n /usr/local/bin/wildfire/lib/jdic.jar ‘’]’’

++ expr /usr/local/bin/wildfire/lib/jdic.jar : ‘’.****’’

  • ‘’[’’ 0 -eq 0 ‘’]’’

  • local_classpath=/usr/local/bin/wildfire/.install4j/i4jruntime.jar:/usr/local/bi n/wildfire/lib/activation.jar:/usr/local/bin/wildfire/lib/bouncycastle.jar:/usr/ local/bin/wildfire/lib/jdic.jar

  • for i in ‘’ls "$app_home/lib" | egrep "\.(jar$|zip$)"’’

  • add_class_path /usr/local/bin/wildfire/lib/mail.jar

  • ‘’[’’ -n /usr/local/bin/wildfire/lib/mail.jar ‘’]’’

++ expr /usr/local/bin/wildfire/lib/mail.jar : ‘’.****’’

  • ‘’[’’ 0 -eq 0 ‘’]’’

  • local_classpath=/usr/local/bin/wildfire/.install4j/i4jruntime.jar:/usr/local/bi n/wildfire/lib/activation.jar:/usr/local/bin/wildfire/lib/bouncycastle.jar:/usr/ local/bin/wildfire/lib/jdic.jar:/usr/local/bin/wildfire/lib/mail.jar

  • for i in ‘’ls "$app_home/lib" | egrep "\.(jar$|zip$)"’’

  • add_class_path /usr/local/bin/wildfire/lib/startup.jar

  • ‘’[’’ -n /usr/local/bin/wildfire/lib/startup.jar ‘’]’’

++ expr /usr/local/bin/wildfire/lib/startup.jar : ‘’.****’’

  • ‘’[’’ 0 -eq 0 ‘’]’’

  • local_classpath=/usr/local/bin/wildfire/.install4j/i4jruntime.jar:/usr/local/bi n/wildfire/lib/activation.jar:/usr/local/bin/wildfire/lib/bouncycastle.jar:/usr/ local/bin/wildfire/lib/jdic.jar:/usr/local/bin/wildfire/lib/mail.jar:/usr/local/ bin/wildfire/lib/startup.jar

  • case “$1” in

  • echo ‘‘Starting wildfire’’

Starting wildfire

  • nohup /usr/bin/java -server -Dinstall4j.jvmDir=/usr -Dinstall4j.appDir=/usr/local/bin/wildfire -Dexe4j.moduleName=/usr/local/bin/wildfire/bin/wildfire -classpath /usr/local/bin/wildfire/.install4j/i4jruntime.jar:/usr/local/bin/wildfire/lib/a ctivation.jar:/usr/local/bin/wildfire/lib/bouncycastle.jar:/usr/local/bin/wildfi re/lib/jdic.jar:/usr/local/bin/wildfire/lib/mail.jar:/usr/local/bin/wildfire/lib /startup.jar com.install4j.runtime.Launcher start org.jivesoftware.wildfire.starter.ServerStarter false false /usr/local/bin/wildfire/bin/…/logs/stderror.log /usr/local/bin/wildfire/bin/…/logs/stdoutt.log true true false ‘’’’ true true 0 0 ‘’’’ 20 20 Arial 0,0,0 8 500 ‘‘version 3.0.0’’ 20 40 Arial 0,0,0 8 500 -1 -DwildfireHome=/usr/local/bin/wildfire -Dwildfire.lib.dir=/usr/local/bin/wildfire/lib start

  • exit 0

I just tried using wildfire 2.6.2 and I am gettting the exact same results, a nohup.out file with the line -

Exception in thread “main” java.lang.NoClassDefFoundError: com/install4j/runtime/Launcher

Is anybody else running wildfire on Ubuntu 6.06 ?

Hi,

would you please try to use the JRE Sun does offer for download?

You may want to fetch the .bin version and run it as user jive so it gets installed in /home/jive/

LG

Nope still not getting any java love

wildfire@MX1:/usr/local/bin/wildfire/bin$ java -version

java version “1.5.0_07”

Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)

Java HotSpot™ Server VM (build 1.5.0_07-b03, mixed mode)

wildfire@MX1:/usr/local/bin/wildfire/bin$ ./wildfire start

Starting wildfire

wildfire@MX1:/usr/local/bin/wildfire/bin$ nohup: appending output to `nohup.out’’

wildfire@MX1:/usr/local/bin/wildfire/bin$ cat nohup.out

Exception in thread “main” java.lang.NoClassDefFoundError: com/install4j/runtime/Launcher

I also thought i would try wiping everything java related from the system, removing the /etc/alternatives/java file and reinstalling the sun jvm, but still no luck.

I have been googling around about this error and it seems farily common with ununtu and gentoo systems, something about automatically built installs, but i know very little about java to be any authority or give advice to an issue.

Hi,

your classpath seems to be really short. For me it looks like this:

$ ls

activation.jar commons-el.jar jasper-compiler.jar jdic.jar mail.jar postgres.jar startup.jar wildfire.jar

bouncycastle.jar hsqldb.jar jasper-runtime.jar jtds.jar mysql.jar servlet.jar tray.dll

All these files should be in your class path. Do you see .pack2000 files in the wildfire/lib directory?

LG

Humm, may be onto something While i have all those file names in my class path, most have .pack appended to the end of them while yours do not.

-rw-rr 1 wildfire wildfire 54829 2006-04-20 10:09 activation.jar

-rw-rr 1 wildfire wildfire 1065895 2006-04-20 10:09 bouncycastle.jar

-rw-rr 1 wildfire wildfire 99109 2006-04-20 10:09 commons-el.jar.pack

-rw-rr 1 wildfire wildfire 457014 2006-04-20 10:09 hsqldb.jar.pack

-rw-rr 1 wildfire wildfire 143853 2006-04-20 10:09 hsqldbutil.jar.pack

-rw-rr 1 wildfire wildfire 216628 2006-04-20 10:09 jasper-compiler.jar.pack

-rw-rr 1 wildfire wildfire 196217 2006-04-20 10:09 jasper-runtime.jar.pack

-rw-rr 1 wildfire wildfire 74639 2006-04-20 10:09 jdic.jar

-rw-rr 1 wildfire wildfire 238008 2006-04-20 10:09 jtds.jar.pack

-rw-rr 1 wildfire wildfire 347137 2006-04-20 10:09 mail.jar

-rw-rr 1 wildfire wildfire 398068 2006-04-20 10:09 mysql.jar.pack

-rw-rr 1 wildfire wildfire 303816 2006-04-20 10:09 postgres.jar.pack

-rw-rr 1 wildfire wildfire 303437 2006-04-20 10:09 servlet.jar.pack

-rw-rr 1 wildfire wildfire 59493 2006-04-20 10:09 startup.jar

-rw-rr 1 wildfire wildfire 57344 2006-04-20 10:09 tray.dll

-rw-rr 1 wildfire wildfire 4236709 2006-04-20 10:09 wildfire.jar.pack

Hi,

the .install4j/i4jruntime.jar should contain the com/install4j/runtime/Launcher.class which your installation does not find. I have no idea to unpack the files manually. Matt did post something here: http://www.jivesoftware.org/community/thread.jspa?messageID=113454 but extracting this manually may not what you want to do.

LG

Okay, I’‘m back, but I think i have something now…I just don’'t understand it

I seems that on my server, wildfire will run just fine when executed from the /tmp directory e.g. /tmp/wildfire. Any other folder i put it in and it never starts. I have attempted to move the directory ‘‘wildfire’’ out of /tmp after i have it setup and running fine only to be back at square one. Obviously this is a less than ideal spot to run a server from.

I really don’'t know what this means, but if it rings a bell for anyone, please chime in as i really dislike ejabberd.

Correction. And this may be solved.

Upon further testing it appers that wildfire will not launch when the $app_home (in bin/wildfire) is more than two directoies deep.

example -

/usr/local/bin/wildfire3.0.1 -> no launch

/usr/local/bin/wildfire -> no launch

/opt/wildfire/3.0.1 -> no launch

/opt/wildfire -> launch

/tmp/wildfire -> launch

Perhaps a bug in the launch script?