This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Building Kawa under Windows (Cygwin) won't compile


I tried manually compiling the directories individually, and had the
same difficulty. For example, if I do javac *.java under gnu\expr, 
the first errors I get are 
  ApplyExp.java:34: class gnu.expr.PrimProcedure is an abstract class. It
  can't be instantiated.
    func = new QuoteExp(new PrimProcedure(m));

  d:\kawa\gnu\expr\PrimProcedure.java:11: class gnu.expr.PrimProcedure
  must be declared abstract. It does not define java.lang.Object
  applyV(java.lang.Object) from class gnu.expr.MethodProc.

I'm not sure whether Java is regarding PrimProcedure as error-free, and
having compiled OK, when it reports this. I think it has found errors in
the class, ignored the methods that contained them, and therefore treated
the class as abstract because it doesn't have these methods but is
declared as implementing something that requires it to. Because later on,
I see

  d:\kawa\gnu\expr\PrimProcedure.java:56: Undefined variable:
  NO_MATCH_TOO_FEW_ARGS
  return NO_MATCH_TOO_FEW_ARGS|fixArgs;
                   ^
  d:\kawa\gnu\expr\PrimProcedure.java:64: Undefined variable:
  NO_MATCH_TOO_MANY_ARGS
  return NO_MATCH_TOO_MANY_ARGS|fixArgs;
                   ^
  d:\kawa\gnu\expr\PrimProcedure.java:109: Undefined variable:
  NO_MATCH_BAD_TYPE
  return NO_MATCH_BAD_TYPE|i;
                   ^ 
So, where are NO_MATCH_TOO_FEW_ARGS and the other constants declared? Not
in a class which itself didn't compile, because presumably the make files
compile the source in correct dependency order, which means the class
defining NO_MATCH_TOO_FEW_ARGS will have already been compiled. Since the
error above was the first to appear, that class must have compiled OK. (Is
this logic correct?)

So this presumably means that the classpath isn't picking up whichever
class defines NO_MATCH_TOO_FEW_ARGS. Which is odd, because my classpath
doesn't mention individual directories, it just points at the top one.

Incidentally, I didn't have this problem with 1.6.70 when using that: I
was able to build it from source OK under Windows.

Jocelyn Paine
http://www.ifs.org.uk/~popx/
+44 (0)7768 534 091 


On Thu, 30 Aug 2001, Kevin Gilpin wrote:

> i just ended up manually compiling each directory. my problem was that the
> classpath wasn't resolving correctly; i wasn't able to figure out what was
> really going wrong
> 
> - kevin
> 
> ----- Original Message -----
> From: Jocelyn Paine <popx@pop3.ifs.org.uk>
> To: <kawa@sourceware.cygnus.com>
> Sent: Thursday, August 30, 2001 1:42 PM
> Subject: Building Kawa under Windows (Cygwin) won't compile
> 
> 
> > Just installed Cygwin on my NT system and tried building Kawa 1.6.94
> > from the sources under it. Running ./configure appears to work,
> > and creates the Makefiles. However, make fails with a load of compilation
> > errors part of the way through. Some of these are at the end of the
> > message.
> >
> > Now, I've actually had this before. When I tried building 1.6.94
> > for the first time, in June, I didn't know what the .java.in files were,
> > so posted a query here and got told what they were. I then preprocessed
> > them to .java files, applying the appropriate options, and tried
> > compiling. I got the same compilation errors as I'm getting now under
> > Cygwin. At the time, I thought I must have done something wrong, but
> > the fact that I'm getting these errors by two different routes is
> > suspicious. It also suggests that whatever's going wrong isn't Cygwin's
> > fault. The distribution I'm using is the 1.6.94 gzipped tar from the Kawa
> > FTP site.
> >
> > Jocelyn Paine
> >
> >
> > ApplyExp.java:34: class gnu.expr.PrimProcedure is an abstract class. It
> > can't be
> >     func = new QuoteExp(new PrimProcedure(m));
> >                         ^
> > GenericProc.java:10: class gnu.expr.GenericProc must be declared abstract.
> > It do
> > public class GenericProc extends MethodProc
> >              ^
> > GenericProc.java:10: class gnu.expr.GenericProc must be declared abstract.
> > It do
> > public class GenericProc extends MethodProc
> >              ^
> > GenericProc.java:53: Incompatible type for java.lang.RuntimeException.
> > Can't con
> >         if (method.match(vars, args) == 0)
> >                                      ^
> > GenericProc.java:63: Method mostSpecific(gnu.expr.MethodProc,
> > gnu.expr.MethodPro
> >                 best = MethodProc.mostSpecific(best, method);
> >                                               ^
> > GenericProc.java:84: Incompatible type for method. Can't convert
> > gnu.bytecode.Ty
> >         int result = method.isApplicable(args);
> >                                          ^
> > GenericProc.java:100: Incompatible type for =. Can't convert
> > java.lang.RuntimeEx
> >         code = method.match(mvars, args);
> >              ^
> > GenericProc.java:110: Undefined variable: NO_MATCH
> >     return NO_MATCH;
> >            ^
> > GenericProc.java:123: class gnu.expr.GenericProc is an abstract class. It
> > can't
> >     GenericProc result = new GenericProc();
> >                          ^
> > ModuleMethod.java:17: class gnu.expr.ModuleMethod must be declared
> > abstract.
> >
> >
> 
> 
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]