Vincent GAY-PARA <[EMAIL PROTECTED]> writes:

> Hi,
> 
> At DMS we tried to compile GNU Classpath with KJC
> (http://www.dms.at/kjc) and we encoutered some problems.
> 
> First of all, we were not able to properly generate the makefiles from
> the CVS repository.
> Here is what we did on an intel station with RH6.1:
> 
> vgp% cvs co classpath
> vgp% cd classpath
> vgp% aclocal
> vgp% autoheader
> configure.in:41: warning: AC_TRY_RUN called without default to allow
> cross compiling
> vgp% automake
> vgp% autoconf
> configure.in:41: warning: AC_TRY_RUN called without default to allow
> cross compiling
> vgp% ./configure --with-jikes
> --with-javah=/usr/local/packages/jdk118/bin/javah
> --with-classlib=/usr/local/packages/jdk118/lib/classes.zip
> --with-japhar=/tmp/japhar-0.08

Okay, first of all you don't want to use the --with-jikes if you are
intent upon trying to compile with kjc, however I don't think our
compilation method supports java/kjc equivalents from CVS at the
moment.  Essentially what has to be done is to use lib/makefile.dep
(generated via jikes and perl) and some combination of classes.dep and
java.dep to create the appropriate Makefile syntax.  I've been waiting
to do this for a while since jikes 1.11 should have the needed code
but has not been released.  I believe that Jikes 1.06 which you have
will not work because it segfaults as you notice.  Jikes 1.09 and 1.10
should not segfault in the way we use it.  See
http://www10.software.ibm.com/developerworks/opensource/jikes/index.html.

> vgp% make
> Making all in lib
> make[1]: Entering directory `/tmp/classpath/lib'
> /bin/sh -c "/usr/bin/jikes -nowarn -classpath
> ..:../vm/reference:.:/usr/local/packages/jdk118/lib/classes.zip +CSO +M
> +F -d . @classes"
> make[1]: *** [compile-classes] Segmentation fault
> make[1]: Leaving directory `/tmp/classpath/lib'
> make: *** [all-recursive] Error 1
> 
> vgp% jikes -version
> ...
> Version 1.06 (17 Sep 99) by Philippe Charles and David Shields, IBM
> Research.
> 
> we tried by hand but we encoutered the following problems:
> command: cd classpath/lib; java -mx128000000 at.dms.kjc.Main --verbose
> --nowrite @classes

According to the documentation I think you'd want to do something like
the above but changed to

cd classpath/lib; java -mx128000000 at.dms.kjc.Main --verbose
--nowrite `cat classes`, since I did not see the "@classes" syntax
documented on your web page, but if it works that's great.

> Introspector:
> =============
> ../java/beans/Introspector.java:23: Package gnu.java.beans not found in
> import.
> import gnu.java.beans.*;
> 
> ComponentBeanInfo:
> ==================
> ../gnu/java/beans/info/ComponentBeanInfo.java:23: Package gnu.java.beans
> not found in import.
> import gnu.java.beans.*;

This package exists in classpath/gnu/java/beans/ so something is
probably wrong with how you're trying to compile.

> AWTEvent:
> =========
> ../java/awt/AWTEvent.java is missing from lib/classes

It appears that AWTEvent is not part of the compile, see
classpath/lib/standard.omit.  
 
> ObjectInputStream:
> ==================
>   problem with an expression (java/io/ObjectInputStream.java:1188:
> Variable "value" cannot be initialized by a value of type "int" [JLS
> 4.5.4])
>   Which compiler do you use ???
>   please rewrite:
>   char value = default_initialize ? 0 : this.realInputStream.readChar
> ();
>   as:
>   char value = default_initialize ? (char)0 :
> this.realInputStream.readChar ();
> 
> see also: java/io/ObjectInputStream.java:1223: Variable "value" cannot
> be initialized by a value of type "int" [JLS 4.5.4]
> 

Okay, I made these changes in CVS.

> WeakHashMap:
> ============
> java/util/WeakHashMap.java:336: Cannot access field "queue" it is in an
> other package and not a class member [JLS 15.10]

This is a problem with how WeakBucket is setup I believe.  It doesn't
make much sense to me why we would call the super constructor with a
package private data member that isn't even initialized in
java/lang/ref/Reference.java except in this same constructor.  There
is also the problem mentioned above of queue being in another
package.  I think Jochen Hoenicke should look at this.

> And we also have the following problem that is a bug in KJC:
> 
> java/util/AbstractList.java:410: Invalid outer class for this operation
> [JLS 15.7.2]
> 
> we will try to fix it today.
> 
> Could you fix these problems and send us an email ([EMAIL PROTECTED]) when
> it's available on your CVS ?

lyta:~$ cvs -d :pserver:[EMAIL PROTECTED]:/cvs/public co kjc-suite  
cvs server: cannot find module `kjc-suite' - ignored

Could you fix this problem and let the classpath list know when you
have ([EMAIL PROTECTED])?  I'd also like to know when you fix the
AbstractList problem above.

Brian
-- 
Brian Jones <[EMAIL PROTECTED]>

Reply via email to