[kaffe] Build Problems

Dalibor Topic robilad@yahoo.com
Mon Aug 4 13:20:03 2003


Hi Rob,

--- Rob Gonzalez <rgonzale@wso.williams.edu> wrote:
> Hi all,
> 
> I modified Kaffe while working on my thesis last year and am currently
> trying to move the modifications to the latest CVS head.  Unfortunately, I
> can no longer build Kaffe.
> 
> Here is the error I get.  Signature_name, BridgeMethod_name, and
> NewLooj_name are Utf8Const* declared in baseClasses.c, though they are
> declared as extern in classMethod.h.  checkPtr() you are probably familiar
> with.
> 
> gcc -DLOOJVM -g -O2 -Wall -Wstrict-prototypes -o kaffeh sigs.o support.o
> main.o mem.o inflate.o jar.o utf8const.o readClass.o constants.o debug.o 
> readClass.o(.text+0xfb1): In function `readAttributes':
> /home/gonzo/work/thesis/kaffe/loojvm/kaffe/kaffeh/../kaffevm/utf8const.h:58:
> undefined
> reference to `Signature_name'
>
readClass.o(.text+0x1294):/home/gonzo/work/thesis/kaffe/loojvm/kaffe/kaffeh/../kaffevm/utf8const.h:58:
> undefined
> reference to `BridgeMethod_name'
>
readClass.o(.text+0x16e1):/home/gonzo/work/thesis/kaffe/loojvm/kaffe/kaffeh/../kaffevm/utf8const.h:58:
> undefined
> reference to `NewLooj_name'
> readClass.o(.text+0x188f): In function `readAttributes':
> /home/gonzo/work/thesis/kaffe/loojvm/kaffe/kaffeh/../kaffevm/readClass.c:407:
> undefined
> reference to `checkPtr'
> collect2: ld returned 1 exit status
> make[2]: *** [kaffeh] Error 1
> make[2]: Leaving directory
> `/home/gonzo/work/thesis/kaffe/loojvm/kaffe/kaffeh'
> make[1]: *** [stamp-kaffeh] Error 2
> make[1]: Leaving directory `/home/gonzo/work/thesis/kaffe/loojvm/include'
> make: *** [all-recursive] Error 1
> 
> 
> I believe that baseClasses.o should be linked during this call to gcc to
> fix the issue.  I have tried running automake, then configure, then make
> and it doesn't seem to find that dependency.

You need to add baseClasses.c to GEN_SRCS in kaffe/kaffeh/Makefile.am, and to
re-autogen everything. Continue until it works without linkage errors ;)

It may be a better long run solution to split the bits needed by both kaffevm
and kaffeh into a separate library, than to copy the same code into kaffeh and
kaffevm. that seems to be somewhat redundant ;)

cheers,
dalibor topic

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com