On Fri, 30 Oct 1998, Chris Toshok wrote:

> Moses DeJong wrote:
> > 
> > I still do not get it. The problem is not with the name of the init
> > method (japhar works if it is called initializeSystemClass or <init>)
> > but it crashes when calling the native methods that japhar does not
> > define.
> 
> Lemme explain.  the initializeSystemClass we can deal with just fine. 
> it's written in java.  the problem is that there are different
> classes.zip files floating around and we don't work with some of them. 
> 1.1.5 was what we started working with, and that's the one we've
> maintained compatibility with.
> 
> The fact that setIn0/Out0Err0 are not present is what the
> initializeSystemClass check is trying to *tell* you.  We (the japhar
> hackers) know that we don't have these native methods.  We have deduced
> that classes.zip files that expect these native methods also have the
> initializeSystemClass method, so we warn you.

Ok, the error message made me think that the problem was related to
the name of the init method and not what it did.
 
> > What about these methods? If they are not defined then how is one
> > suppossed to change the value of System.in and System.out when
> > they are defined and final? This can not be done in java code
> > (which is why the Sun JDK does it in native code).
> 
> no, they can be -- they are in the classes.zip file I have.  Just
> because the JDK does it doesn't mean there's no other way to do it.
> 
> > I am no sun lover but I that does not change the fact that japhar
> > crashes with every jdk classes.zip that I have tried (I have tried
> > about 10 differnet JDKs from different verdors and they all break!).
> 
> look.  i just downloaded a version of jdk1.1.6 (with the bad
> java.lang.System) and tried:
> 
> CLASSPATH=jdk1.1.6/lib/classes.zip javap java.lang.System
> 
> and got no output at all.  classes.zip files are tied quite inextricably
> to the VM that they are shipped with.  Since we *can't* ship a
> classes.zip (soon... classpath... mmmmm) we're stuck with trying to hunt
> down classes.zip files that we're compatible with.  I really don't
> relish the thought of trying to support every classes.zip file from
> 1.1.5 up to 1.1.7, with all of sun's various tweaks that they heap on
> licensees.

Could you ship a patch file that converts a bad (that means Sun) dist
over to a good dist? I am currently using a modified System.java source
file that I recompiled and put into my own classes.zip. Do you think
a script that does is worth the time. Would it just be better to wait
for the Classpath project classes to get merged into the CVS?

> there was the argument some time ago of having our java.lang.System
> native methods encompass the native methods of all revisions of the JDK
> System class that we've seen, but I don't like that idea.  There may be
> other incompatibilities, lurking in the shadows, and I'd much rather
> have *one* thing to deal with than ten.

I did not mean to restart an old argument.

> so, some people are going to be broken.  that's just the way it goes
> when we don't have control over everything that we need to make japhar
> work.  if we fixed your problem, we'd break others.

Thats cool, I already fixed my problem. I just thought that other folks
might have been as confused as me so that might want to hear what I did
to work around it.

> this explain things a bit more?
> 
> xtoph
> 


later
Mo DeJong
dejong at cs.umn.edu

Reply via email to