Hi ZNTU, On Tue, 2008-09-23 at 00:13 -0700, ZNTU wrote: > I'm just starting to learn about jvm and classpath. I try to install > classpath 0.97.2 on my pc which has i686 and Linux(Kubuntu). However, once I > run > > ./configure --disable-gtk-peer --disable-gconf-peer --disable-plugin > > I notice that there is some incorrect classpath: > ... > checking for ecj... ecj -warn:-deprecation,serial,unusedImport > checking if ecj -warn:-deprecation,serial,unusedImport works... yes > checking whether javac supports -J... incorrect classpath: > yes > .... > > However once this command finish then i run command "make" > > and there is 1 error and 1 warning that I cannot fix it > > Making all in lib > make[1]: Entering directory `/home/tktan/classpath-0.97.2/lib' > true > top_builddir=.. top_srcdir=.. /bin/sh ./gen-classlist.sh standard > Adding java source files from srcdir '..'. > Adding java source files from VM directory ../vm/reference > ecj -warn:-deprecation,serial,unusedImport -J-Xmx768M -source 1.5 -target > 1.5 -bootclasspath '' -classpath > ../vm/reference:..:../external/w3c_dom:../external/sax:../external/relaxngDatatype:../external/jsr166:.:: > -d . @classes > incorrect classpath: > ---------- > 1. ERROR in ../sun/reflect/annotation/AnnotationInvocationHandler.java > (at line 87) > memberValues.put(name, m.getDefaultValue()); > ^^^^^^^^^^^^^^^ > The method getDefaultValue() is undefined for the type Method > ---------- > 2. WARNING in ../sun/reflect/annotation/AnnotationInvocationHandler.java > (at line 373) > throw new IncompleteAnnotationException(type, methodName); > ^^^^ > Type safety: The expression of type Class needs unchecked conversion to > conform to Class<? extends Annotation> > ---------- > 2 problems (1 error, 1 warning)make[1]: *** [compile-classes] Error 255 > make[1]: Leaving directory `/home/tktan/classpath-0.97.2/lib' > make: *** [all-recursive] Error 1 > > can anyone please help me solve this problem? Any hints are greatly > appreciated. That is strange. It is as if ecj is still compiling against a core class library that has a java.lang.reflect.Method which doesn't have the 1.5 getDefaultValue() method. Which shouldn't be possible since both -bootclasspath and -classpath are given and make sure the Method.java from the code you are compiling is being used. What version of ecj is this? Cheers, Mark