Subject: Re: JDK on *BSD
To: None <current-users@NetBSD.ORG>
From: Martin Cracauer <cracauer@wavehh.hanse.de>
List: current-users
Date: 11/14/1996 14:50:06
Regarding Java on *BSD and NetBSD:

I have kaffe (a free virtual machine) and guavac (a free
non-Java-based Java compiler) running on NetBSD-1.1/i386.

They work only for projects up to a certain size, I found them unable
to be used for bigger packages like Kawa (a Scheme system compiling to
Java Byte code). But, for compiling applets to be used for WWW
applications and to run my Java-based commandline utilities, they work
quite good. And they have real fast turnaround times.

There is a JDK-1.0.2 port for Linux/x86. I've been able to run the
1.0.1 Linux port on NetBSD-1.1 A or B and found it to be instable
(runs some programs, but dumps core on others). You might try whether
this changed with new version of the JDK and NetBSD (likely so). Try
http://www.blackdown.org

There is a JDK-1.0.2 port for FreeBSD-current. I've just been trying
to run it on a plain NetBSD-1.1/i386 and it complains about
"/usr/libexec/ld.so: java: libm.so.2.0: Inappropriate file type or
format". You might to use it on a recent NetBSD system (1.2) with a
real FreeBSD emulation and feed some FreeBSD shared libs into it. Look
for this port in ftp://freefall.freebsd.org/pub/local_ports (or so).

I have been told the Solaris version of the JDK runs in NetBSD/sparc
SVR4 emulation.


Regarding the source license:

The claim that Sun required you to pass a test suite to distribute
binaries has never been true. In fact there has not been such a test
suite. 

The problem with the Sun source license was that you were forbitten to
distribute a binary produced from the sources you got for any
charge. That meant, you couldn't put it onto a Linux CD or so. That
was inconsistent with the normal binary lince (for binaries produced
by Sun).

The blackdown folks that ported it to Linux spent some months beating
at Sun pointing this out and finally Sun changed the license so that
binaries produced by source holders have the same restrictions as
those provided by Sun. The Linux 1.0.2 port was released immediatly.

It is, BTW, no problem to get the sources from Sun. You fax them you
filled license form and wait a few days (well, some more in my
case). I know of quite a number of people who had no problems.

Porting required quite some work:
- The thread interface supplied are green threads. You will have to
  either port these or write an interface to another thread
  package. Useage of Green Threads (instead of Solaris or Pthreads)
  is, BTW, the reason why the Sun JVM can use multiple processors on
  Win32, but not on Solaris :-( 
- You will have to write an interface to the dynamic linker. I didn't
  look into it but I've been told that this requires at least a
  working weak symbol support.
- I don't know about the graphical tools, but is won't be easy
  either. (IMHO, the whole awt stuff isn't worth using anyway. I have
  a awt.graphics -compatible class that uses ghostscript :-).

Source diffs may be delivered to other holders of the source
license. I know that the sources for the FreeBSD port are *not*
availiable. I don't know about the Linux sources.

And I'm not happy with Sun's policy either, to make that clear. But
this thread included some misinformation that is not typical for
current-users@netbsd :-).

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@wavehh.hanse.de>  http://cracauer.cons.org