Thread: [Sablevm-developer] problem running gjdoc (javadoc replacement) w/ SableVM
Brought to you by:
egagnon
From: Grzegorz P. <gr...@se...> - 2002-10-16 11:27:57
|
Hi! Having properly installed sablevm (HelloWorld works) I tried to run gjdoc [1] and got this: greg@greg:~/deb-pkgs/gjdoc/markhoward$ (cd /tmp/gjdoc; gjdoc -doclet gnu.classpath.tools.doclets.xmldoclet.Driver -sourcepath /tmp/gjdoc/ $*) java.lang.NoClassDefFoundError: [Ljava/lang/String; at java.lang.ClassLoader.createArray(ClassLoader.java:417) at java.lang.ClassLoader.createArray(ClassLoader.java:340) at java.lang.Class.forName(Class.java:309) at java.lang.Class.forName(Class.java:268) at gnu.classpath.tools.gjdoc.Main.class$(Main.java) at gnu.classpath.tools.gjdoc.Main.startDoclet(Main.java:298) at gnu.classpath.tools.gjdoc.Main.start(Main.java:780) at gnu.classpath.tools.gjdoc.Main.main(Main.java:678) at java.lang.VirtualMachine.invokeMain(VirtualMachine.java) at java.lang.VirtualMachine.main(VirtualMachine.java:88) gjdoc is this: exec java --classpath /usr/share/java/libgcj.jar -jar /usr/share/java/gjdoc.jar "$@" gjdoc debian packages can be (temporarily) found at http://tildemh.com/tmp/gjdoc/ Mark Howard has done some work on this topic and reported that he was able to run it with gcj *only* (compiled to native code). [if you fetch the all_deb from there change gij in /usr/bin/gjdoc to java and setup your alternatives properly to use sablevm as java) or - the call to sablevm looked like this: /usr/bin/sablevm -Y --classpath=/usr/share/java/gjdoc.jar:/usr/share/java/libgcj.jar gnu.classpath.tools.gjdoc.Main -doclet gnu.classpath.tools.doclets.xmldoclet.Driver -sourcepath /tmp/gjdoc/ I may be wrong - but it seems that there's something wrong w/ createArray? So it is rather gnu classpath related problem not SableVM? Cheers Grzegorz B. Prokopski |
From: Mark W. <ma...@kl...> - 2002-10-24 13:13:56
|
Hi, On Wed, 2002-10-16 at 13:27, Grzegorz Prokopski wrote: > > gjdoc is this: > exec java --classpath /usr/share/java/libgcj.jar -jar > /usr/share/java/gjdoc.jar "$@" Try removing the /usr/share/java/libgcj.jar from the classpath. Those are the core classes from gcj which are not (yet) the same as the GNU Classpath classes which are used with sablevm. > Mark Howard has done some work on this topic and reported that > he was able to run it with gcj *only* (compiled to native code). Yes this works very nicely. > or - the call to sablevm looked like this: > /usr/bin/sablevm -Y > --classpath=/usr/share/java/gjdoc.jar:/usr/share/java/libgcj.jar > gnu.classpath.tools.gjdoc.Main -doclet > gnu.classpath.tools.doclets.xmldoclet.Driver -sourcepath /tmp/gjdoc/ Here also, try to remove the libgcj.jar. Also note that currently gjdoc needs the sources of the core classes also on the sourcepath. (It should print a WARNING at the beginning about that.) > I may be wrong - but it seems that there's something wrong w/ > createArray? So it is rather gnu classpath related problem not > SableVM? createArray() looks like a SableVM addition to java.lang.ClassLoader which is not present in the upstream Classpath sources. Cheers, Mark |
From: Etienne M. G. <eti...@uq...> - 2002-10-24 18:35:50
|
Hi Folks, On Wed, Oct 16, 2002 at 01:27:45PM +0200, Grzegorz Prokopski wrote: > I may be wrong - but it seems that there's something wrong w/ > createArray? So it is rather gnu classpath related problem not > SableVM? I was running some experiments, and I noticed that SableVM seemed broken; it wouldn't run the SPECjvm benchamrks anymore! (Complaining about the missing nativeCreateArray). So, after investigation, I finally found the problem: Jikes 1.17 generates internal class bytecodes which make these invocations, whereas Jikes 1.15 doesn't. On the short term, you should be using Jikes 1.15 (There's a package for it, I think, in Debian "testing"). Of course, I'll have to fix SableVM to implement the nativeCreateArray... On my TODO list (getting pretty long). Etienne -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |
From: Grzegorz P. <gr...@se...> - 2002-10-26 23:26:38
|
W li=B6cie z czw, 24-10-2002, godz. 20:23, Etienne M. Gagnon pisze:=20 > Hi Folks, >=20 > On Wed, Oct 16, 2002 at 01:27:45PM +0200, Grzegorz Prokopski wrote: > > I may be wrong - but it seems that there's something wrong w/ > > createArray? So it is rather gnu classpath related problem not > > SableVM? >=20 > I was running some experiments, and I noticed that SableVM seemed > broken; it wouldn't run the SPECjvm benchamrks anymore! (Complaining > about the missing nativeCreateArray). >=20 > So, after investigation, I finally found the problem: Jikes 1.17 > generates internal class bytecodes which make these invocations, > whereas Jikes 1.15 doesn't. I installed 1.15 jikes for testing and... gjdoc works (at least help shows) only IF libgcj.jar is in the classpath! Else - the previous error appears! > Of course, I'll have to fix SableVM to implement the > nativeCreateArray... On my TODO list (getting pretty long). I think that using jikes 1.15 for gjdoc compilation didn't really solve this problem. GBP PS: Hmm... I just thought that maybe recompilation of sablevm-classlib with jikes 1.15 can help. I won't check it ATM. I will be uploading gjdoc into unstable anyway. (there's always gcj arch-specific version available - thanks to Mark Howard <mh...@ti...> ) |