BUGS in kaffe.0.9.2

Aleksey Sudakov zander at rkinc.com
Mon Jan 19 17:27:14 PST 1998


I played around with building kaffe on m68k-next-OpenStep4.2 and discovered  
several problems

First of all by default on NeXTSTEP/OpenStep ./configure come out with the  
following configuration:

On m68k
checking host system type... m68k-next-nextstep3
checking execution engine... intrp
checking library type... shared

On i386
checking host system type... i386-next-nextstep3
checking execution engine... jit
checking library type... shared

Frankly I don't believe that kaffe libraries build the way they are could be  
used on OpenStep as shared libraries. But this is a very long story, so any  
comments on how shared libraries organized in kaffe are very welcome. For now  
let's focus on a bug that comes right away after configuration.

BUG 1:
Makefiles that are generated result in the following error

true --def ./libnative.def --output-exp lib.exp --output-lib libnative.a  
--dllname libnative.o
touch lib.exp
ld -r -o libnative.o.0.92  -lm
ld: no object files loaded

This is because there is an erroneous "\" symbol at the end of line 99 in  

After fixing this one could compile upto kaffe binary on m68k (on i386  
compilation will fail in trampoline.c. I could give more details as soon as I  
get to the office) and experience the following mess in  

BUG 2:
A. libraries reffered as libkaffe_<libname>.a while they created as lib<libname>.a
My guess this is a bug in configure or in Makefile.in in every  
tjwassoc.co.uk package.

B. -lkaffevm is included twice resulting in "multiple declaration..." error.

After fixing this one could make install, but kaffe wouldn't work because

/usr/local/bin/javac HelloWorld.java
Failed to locate native library in path:

Here is my environment to make sure that this is a problem with shared  
libraries, not my environment

black> setenv

So at this point I tried to build kaffe with static libraries. Apart from  
bugs mentioned above everything was smooth up to the linking of kaffe binary  
where I've got the following error:

/bin/ld: Undefined symbols:

I failed to locate implementation of these methods also. Did I missed something?

This is basically how far I managed to get. It looks like kaffe is just one  
step away but I cannot get there without someone help. Unresolved issues are:

1. Not found functions in tjwassoc.co.uk packages.

2. Shared libraries mechanism and what it get's to have shared libraries  
working on OpenStep.
Food for thoughts: On OpenStep in order to build shared library one should  
compile with -shared flag and link using cc with -dynamiclib flag using  
frameworks instead of standard libraries. All of this calls for general  
revision of all Makefiles and configuration script. My skills here are very  
limited, so the best I could do is to provide complete "fixed" source tree  
and perhaps somebody will integrate it with mainstream distribution.

3. JIT om m68k. What it takes to implement JIT om m68k - the platform I am  
primary interested in?


More information about the kaffe mailing list