kaffe 0.8.2 on linux-ppc

Fred Dushin fadushin at top.cis.syr.edu
Wed Mar 19 18:59:41 PST 1997

I'm having some trouble getting kaffe with all the bells and
whistles up under linux on a PPC (linux-pmac kernel 2.1.24).

1) I have successfully built kaffe without any awt using Tim's
posted patch to kaffe.def, a fix to the Makefile in the same
directory (turn off -lm -ldf in the call to ranlib), and some
other chnages to the Makefile in kaffe/kaffe (add paths and
libraries to be linked).  The VM seems to run smoothly, and
Tim's patch fixed the previous error with the compiler.
(Thanks, Tim)

2) So I thought I'd give the awts a try, since I'm really going
through withdrawl not having a kick-ass jdk on a kick-ass OS.
The first thing I tried was biss-awt.  Now, one question
I have is, I know that _some_ of biss-awt uses peer implementations
from java.awt.peer.  But the biss-awt documentation seems to hint
at a purely native and clean-room implementation of some simple peers
for supporting biss-awt.  Is that what the APIawt/lib X*.c files are
all about?  I managed to compile these (after fixing the Makefile so
that RANLIB was defined instead of something wrong being executed),
and so I fixed the linking in kaffe/kaffe/Makefile once again 
so that everying got linked in.  However, I could not run any of the
classes (like biss.jde.CUBrowser) that are mentioned in the
biss-awt doc.

3) On to SAWT.  This was a bit more of a challenge.  The Makefile
here had a bogus call to ar (changed it to ar cr--actually,
I can't figure out why this fixed it...), then ranlibbed the
archive and fixed (once again) the /kaffe/kaffe/Makefile.
This time, however, I ran into some problems linking.  Apparently,
some of the stubs are externally defined in the SAWT lib files,
but they appear not to be defined anywhere else:

[root at snowdon kaffe]# pwd
[root at snowdon kaffe]# make
gcc -fsigned-char  -I. -I./../kaffevm -I../../config -I./../../config -I../../include -o kaffe main.o -L../kaffevm -L../../packages//tjwassoc.demon.co.uk/APIcore/lib   -L../../packages/tjwassoc.demon.co.uk/APInet/lib -L../../packages/epfl.ch/APIawt/lib -L../../packages/biss-net.com/APIawt/lib -lkaffe_vm -lkaffe_native -lkaffe_net  -lkaffe_vm -lkaffe_sawt -lkaffe_bissawt -lm
../../packages/epfl.ch/APIawt/lib/libkaffe_sawt.a(kaffe_awt_simple_NativeDisplay.o): In function `Kaffe_kaffe_awt_simple_NativeDisplay_setcursorType_stub':
kaffe_awt_simple_NativeDisplay.o(.text+0x4d0): undefined reference to `kaffe_awt_simple_NativeDisplay_setcursorType'
make: *** [kaffe] Error 1

So, let's see, has anyone out there had success using a kaffe awt
without having Sun's native libraries?  Remember, we PPCers don't
even have the luxury of _buying_ Motif, as there is no port
yet for this architecture.

One final issue with all of this is that I have had no luck setting
up kaffe for compiling with shared libraries, which we can now do
with linux-ppc.  I tried changing the settings in configure.in
to turn off KAFFEVMFLAGS and set LIBSHARE variables, etc., but
configure still manages to turn on KAFFEVMFLAGS, even after a
fresh start.  I realize kaffe isn't huge, but disk space is still


Fred Dushin
Syracuse, NY

More information about the kaffe mailing list