[kaffe] need detailed steps to configure kaffe 1.1.4 --with-awt=qt for pxa255

Dalibor Topic robilad at kaffe.org
Mon May 31 14:44:02 PDT 2004

Hi Cory,

sorry for not answering earlier, I'm quite busy atm.

谢文学 wrote:
> hello, 
> [it's very long,but i just want to ask questions more detaied,thanks for reading
> on!]
>    i have been working on porting kaffe 1.1.4 to an xscale pxa255 linux board for
> about  
> one month.first i tried to use --with-awt=X,the cross compile process really
> produced out an 
> ARM version of kaffe,and with libawt.so(somthing like that).but at last i give up 
> ,because i 
> foud that my target board doesn't surport Xlibs. then i turned to use
> --with-awt=qt,but 
> unfortunately,i haven't get the cross process going well. 
>    here is it,hope someone be kind enough to help me out,thanks! 

There is apparently a nasty problem with kaffe on xscale: the assembler 
code in config/arm directory uses some instructions for doubles and 
floats that aren't available on xscale, afaik.

> step 2:
> when enter into kaffe-1.1.4,use
>  CFLAGS="-D__XSCALE__" NM=arm-linux-nm AR=arm-linux-ar CC=arm-linux-gcc
> ./configure --with-awt=qt --disable-debug  --enable-pxa --host=arm-linux 
> --enable-pure-java-math KAFFEH=/usr/local/kaffe/bin/kaffeh
> --with-rt-jar=/usr/local/kaffe/jre/lib/rt.jar --with-threads=unix-jthreads
> --prefix=/usr/local/java --with-staticlib --with-staticvm --with-staticbin
> --enable-static=yes
> see,the options i used are too long,they are collected from the mailing archeve
> .but  it still can't work .when i use make,error turned on.
> Making all in config
> make[1]: Entering directory `/root/jvm/kaffe-1.1.4/config'
> make  all-am
> make[2]: Entering directory `/root/jvm/kaffe-1.1.4/config'
> /bin/sh ../config/regen-forward ./arm/linux/md.h md.h stamp-h02
> /bin/sh ../config/regen-forward ../config/arm/callKaffeException.h
> callKaffeException.h stamp-h04
> make[2]: Leaving directory `/root/jvm/kaffe-1.1.4/config'
> make[1]: Leaving directory `/root/jvm/kaffe-1.1.4/config'
> Making all in include
> make[1]: Entering directory `/root/jvm/kaffe-1.1.4/include'
> /usr/local/kaffe/bin/kaffeh -classpath ../libraries/javalib/Klasses.jar.bootstrap
> -o java_lang_Object.h java/lang/Object
> /usr/local/kaffe/bin/kaffeh: error while loading shared libraries:
> /root/qt-embedded-free-3.1.1/lib/libqte.so.3: ELF file OS ABI invalid
> make[1]: *** [stamp-h0all] Error 127
> make[1]: Leaving directory `/root/jvm/kaffe-1.1.4/include'
> make: *** [all-recursive] Error 1

Ah, okay. See http://www.kaffe.org/doc/kaffe/FAQ.cross-compiling . You 
need to have kaffe build and installed on the build platform, in order 
to use the local kaffeh.

quoting from the document:

"It does not work!
The way how to supply options to configure is roughly ok, but it is
not enough. Because, include files needed to compile some library
files are generated automatically while build, and 'jar' file is
also generated while build. These files need runnable (on build computer)
'kaffeh' and 'kaffe' to generate.

To do that, you first have to make and install 'native' kaffe, and
totally you may have three directories. In this document I use
'kaffe-1.1.0' where you store the source code, 'kaffe-native' where
you make native kaffe, and 'kaffe-m68k-linux' where you make cross
compiled kaffe.

Then, you have
   . --- kaffe-1.1.0
      +- kaffe-native
      +- kaffe-m68k-linux
and, you first visit 'kaffe-native' and do '../kaffe-1.1.0/configure' and
'make; make install' first. Then you copy generated 'rt.jar' in somewhere
   cp libraries/javalib/rt.jar /tmp/rt.jar

And then, you can

   CC=m68k-linux-gcc NM=m68k-linux-nm AR=m68k-linux-ar \
	../kaffe-1.1.0/configure --host=m68k-linux --build=i686-linux \

Of course, this raises the question whether we should not simply check 
in the header files into CVS to make it easier to (cross-)compile kaffe 
since that seems to be a regular stubling block.

> I am really drunken  mad for that,because i have tried many many times,with
> different options,and i really need
> it. i saw some body see CVS kaffe is better now ,but unfortunately,i can't access
> to CVS kaffe[sorry i don't know how to access,i tried cvs -d
> :pserver:readonly at cvs.kaffe.org:/cvs/kaffe login ,but always timeout.and i can't
> download anything from ViewCVS / CVSWeb---you see now ,i am a really newbie to
> linux world,about 2 months.]

I'll put up a snapshot of CVS tomorrow, and send you a link. I'm just 
running late for a bis right now :(

i hope this helps a little,

dalibor topic

More information about the kaffe mailing list