Thread: [Sablevm-developer] trying to build w/ free-java-sdk (sablevm) - failure
Brought to you by:
egagnon
From: Grzegorz P. <gr...@se...> - 2002-09-06 09:13:54
|
Hi! As I got 1.0.4 working (w/ 1.0.3 symlinks as I described in my other mail) - I wanted to try ant compilation. here's the output: greg@greg:/opt/media/build/ant-1.5$ dpkg-buildpackage -rfakeroot dpkg-buildpackage: source package is ant dpkg-buildpackage: source version is 1.5-1 dpkg-buildpackage: source maintainer is Stefan Gybas <sg...@de...> dpkg-buildpackage: host architecture is i386 fakeroot debian/rules clean dh_testdir dh_testroot rm -rf build build-stamp dh_clean dpkg-source -b ant-1.5 dpkg-source: building ant using existing ant_1.5.orig.tar.gz dpkg-source: building ant in ant_1.5-1.diff.gz dpkg-source: warning: ignoring deletion of file src/main/org/apache/tools/ant/taskdefs/email/Message.java.rej dpkg-source: warning: ignoring deletion of file src/main/org/apache/tools/ant/taskdefs/email/Message.java.orig dpkg-source: warning: ignoring deletion of file docs/manual/CoreTasks/mail.html.orig dpkg-source: building ant in ant_1.5-1.dsc debian/rules build dh_testdir /bin/sh bootstrap.sh ... Bootstrapping Ant Distribution ... Compiling Ant Classes ... Copying Required Files ... Building Ant Distribution /usr/lib/fjsdk/bin/java -classpath build/classes:src/main::/usr/share/java/antlr.jar:/usr/share/java/bsf.jar:/= usr/share/java/junit.jar:/usr/share/java/log4j.jar:/usr/share/java/oro.jar:= /usr/share/java/regexp.jar:/usr/share/java/xalan2.jar:/usr/share/java/xerce= sImpl.jar:/usr/share/java/xml-apis.jar:/usr/share/sablevm/classes -Dant.hom= e=3D. org.apache.tools.ant.Main -emacs jars javadocs Buildfile: build.xml *** Couldn't bind native method Java_java_lang_Class_getMethods *** *** or Java_java_lang_Class_getMethods__ *** BUILD FAILED java.lang.UnsatisfiedLinkError at java.lang.Class.getMethods(Class.java) at org.apache.tools.ant.IntrospectionHelper.IntrospectionHelper(IntrospectionH= elper.java:207) at org.apache.tools.ant.IntrospectionHelper.getHelper(IntrospectionHelper.java= :384) at org.apache.tools.ant.ProjectHelper.configure(ProjectHelper.java:296) at org.apache.tools.ant.helper.ProjectHelperImpl$TaskHandler.init(ProjectHelpe= rImpl.java:812) at org.apache.tools.ant.helper.ProjectHelperImpl$ProjectHandler.handleProperty= (ProjectHelperImpl.java:566) at org.apache.tools.ant.helper.ProjectHelperImpl$ProjectHandler.startElement(P= rojectHelperImpl.java:510) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkn= own Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispat= cher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown = Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.tools.ant.helper.ProjectHelperImpl.parse(ProjectHelperImpl.java:= 155) at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:117) at org.apache.tools.ant.Main.runBuild(Main.java:597) at org.apache.tools.ant.Main.start(Main.java:196) at org.apache.tools.ant.Main.main(Main.java:235) at java.lang.VirtualMachine.invokeMain(VirtualMachine.java) at java.lang.VirtualMachine.main(VirtualMachine.java:88) Total time: 15 seconds java.lang.UnsatisfiedLinkError at java.lang.Class.getMethods(Class.java) at org.apache.tools.ant.IntrospectionHelper.IntrospectionHelper(IntrospectionH= elper.java:207) at org.apache.tools.ant.IntrospectionHelper.getHelper(IntrospectionHelper.java= :384) at org.apache.tools.ant.ProjectHelper.configure(ProjectHelper.java:296) at org.apache.tools.ant.helper.ProjectHelperImpl$TaskHandler.init(ProjectHelpe= rImpl.java:812) at org.apache.tools.ant.helper.ProjectHelperImpl$ProjectHandler.handleProperty= (ProjectHelperImpl.java:566) at org.apache.tools.ant.helper.ProjectHelperImpl$ProjectHandler.startElement(P= rojectHelperImpl.java:510) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unkn= own Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispat= cher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown = Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.tools.ant.helper.ProjectHelperImpl.parse(ProjectHelperImpl.java:= 155) at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:117) at org.apache.tools.ant.Main.runBuild(Main.java:597) at org.apache.tools.ant.Main.start(Main.java:196) at org.apache.tools.ant.Main.main(Main.java:235) at java.lang.VirtualMachine.invokeMain(VirtualMachine.java) at java.lang.VirtualMachine.main(VirtualMachine.java:88) ... Failed Building Ant Distribution ! make: *** [build-stamp] B=B3=B1d 1 It seems that java.lang.Class.getMethods(Class.java) is having some problems. Is this GNU Classpath problem of SableVM's? GBP PS: It seems that ant maintainer is looking for free, properly licensed, working environment to build free ant. If SableVM could jump in as the JVM w/ which ant is build - it should prove SableVM to be really useful and gain us some more users (what rather means: developers ATM). PSS: If anyone want to try building ant - I'll put up my slightly modified source somewhere. |
From: Etienne M. G. <eti...@uq...> - 2002-09-06 13:38:58
|
Grzegorz Prokopski wrote: > *** Couldn't bind native method Java_java_lang_Class_getMethods *** > *** or Java_java_lang_Class_getMethods__ *** ... > java.lang.UnsatisfiedLinkError > at java.lang.Class.getMethods(Class.java) ... > It seems that java.lang.Class.getMethods(Class.java) is having some > problems. Is this GNU Classpath problem of SableVM's? Ant does some pretty heavy use of reflection. You can look at the API specification of java.lang.Class.getMethods() [in any recent API specification of Java], and you'll see what should be returned by this method. You are invited to implement it, if you want... [I thought I had already said all this in a previous message.] Reflection is the responsibility of the VM, so, yes , it is a missing native method in SableVM. As I said earlier, I am in my first teaching week, so don't count on me to implement it (and the upcoming many reflection methods in the Ant source code that follows the call to getMethods()) before a couple of weeks. You are free to do it, though. getMethod (and/or? getDeclaredMethod) is already implemented, and can be used as inspiration. Source file: sablevm-x.y.z/src/libsablevm/java_lang_Class.c . The type structures are defined in sablevm-x.y.z/src/libsablevm/types.h . I know you'd like it working *now*, but *I* do not have time just *now*. :( Have fun! 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-09-07 23:22:34
|
W li=B6cie z pi=B1, 06-09-2002, godz. 15:30, Etienne M. Gagnon pisze:=20 > Grzegorz Prokopski wrote: > > *** Couldn't bind native method Java_java_lang_Class_getMethods *** > > *** or Java_java_lang_Class_getMethods__ *** > ... > > java.lang.UnsatisfiedLinkError > > at java.lang.Class.getMethods(Class.java) > You are free to do it, though. getMethod (and/or? getDeclaredMethod) is = already=20 > implemented, and can be used as inspiration. Source file:=20 > sablevm-x.y.z/src/libsablevm/java_lang_Class.c . I really took some time and digged into this. However it seems that it's beyond my current abilities. Even if java specs are clear and this method doesn't look too complicated - I don't know sablevm internal construction well enough. Sablevm methods aren't really documented and it would be hard for me (read: time consuming) to learn them first then try to build this function. I don't have enough time right now :-/ I think I'll focus on packaging for now as I haven't solved all the issues yet. Maybe your students would be interested in biteing it? Given that they're able to talk w/ you directly, live - they're in much better position to try. Best regards GBP btw: why is this called 'reflection' ? |
From: Etienne M. G. <eti...@uq...> - 2002-09-08 14:37:10
|
Grzegorz Prokopski wrote: >>You are free to do it, though. getMethod (and/or? getDeclaredMethod) is already >>implemented, and can be used as inspiration. Source file: >>sablevm-x.y.z/src/libsablevm/java_lang_Class.c . > > I really took some time and digged into this. > However it seems that it's beyond my current abilities. > > Even if java specs are clear and this method doesn't look too > complicated It's not that simple, either. > - I don't know sablevm internal construction well enough. > Sablevm methods aren't really documented and it would be hard for > me (read: time consuming) to learn them first then try to build > this function. I don't have enough time right now :-/ Welcome to the club of busy people. :-) > I think I'll focus on packaging for now as I haven't solved all the > issues yet. Maybe your students would be interested in biteing it? I think that waiting a couple of week for my schedule to be less full is the best you can hope for, unless somebody else on this list is interested to do it before then. > btw: why is this called 'reflection' ? Because the traditional "reflection" (the real thing, not the Java *very* limited library support for it) allows you to reflect into live objects and classes, in purely dynamic OO systems. E.g. it allows you not only to "look" at the structure of classes and objects, but also to modify them *dynamically*, adding and removing fields and methods. Etienne -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |