[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Next question for help in Java packaging: beast-mcmc



On Fri, Feb 18, 2011 at 09:31:09AM -0500, Scott Howard wrote:
> > ... but failed.  Any idea why this does not work?
> 
> Is it failing when you try to execute the .jar? (Saying can't find jam.jar?)

Yes.
 
> I don't know the insides of jh_manifest and dh7 style commands, but I
> usually see debian/rules files that export CLASSPATH. I don't know
> explicitly why (is it running a sub-make, does it call it from another
> shell?) but "export CLASSPATH" worked for figtree, my java packages,
> and in the examples in the tutorial.

I would have tried if I would have understood this hint because I was
not aware that the make statement "export" has the effect you described.
I simply assumed that make variables are global anyway and now I
realised what you mean.

Because of the trouble with debian/manifest I now decided to go for
this method and have uploaded my current work to

   http://people.debian.org/~tille/packages/beast-mcmc-help-wanted/

It becames definitely *better* now but at the same time it became
more puzzling.  The fact is that the binaries

   /usr/bin/beast-mcmc
   /usr/bin/beauti
   /usr/bin/loganalyser

seem to work as expected.  However

   $ /usr/bin/logcombiner
Exception in thread "main" java.lang.NoClassDefFoundError: jam/console/ConsoleApplication
        at dr.app.tools.LogCombiner.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: jam.console.ConsoleApplication
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
        ... 1 more


I completely fail to understand the reason for this because both are
very similar - just calling a different MainClass in the very same JAR:

$ grep "^java" /usr/bin/{loganalyser,logcombiner}
/usr/bin/loganalyser:java -Xms64m -Xmx1024m -Djava.library.path="$BEAST_LIB" -cp "$BEAST_LIB/beast.jar" dr.app.tools.LogAnalyser $*
/usr/bin/logcombiner:java -Xms64m -Xmx1024m -Djava.library.path="$BEAST_LIB" -cp "$BEAST_LIB/beast.jar" dr.app.tools.LogCombiner $*

The same failure happens for the other two wrapper scripts treeannotator
and treestat.

Any idea?

Thanks for all your patient help so far

     Andreas.

-- 
http://fam-tille.de


Reply to: