Hello list, here the update info abour building kaffe on uClibc. 1)I'm not going to use X and awt. 2)Do not want native language support. 3)kaffe 1.1.6 and CVS, are the same proccess 4)uClibc version 0.9.28 (cvs snapshot)
ISSUE: Kaffe still not want to load shared libraries as many other programs do on uClibc then, the use of --enable-static --with-staticlib is mandatory. You still need jikes, build them static on libc env and copy to chrooted env, if you just will use the jre and not javac, you'll not need anymore jikes you can delete them after kaffe build. My Configure line: ./configure --prefix=/usr/local/kaffe --without-esd --without-classpath-gtk-awt --without-alsa --disable-nls --enable-static --with-staticlib --enable-gmp It will produce at time of linking: gcc -g -O2 -Wall -W -Wextra -pthread -o kaffe-bin main.o version.o .libs/kaffe-binS.o -Wl,--export-dynamic ../../libraries/clib/native/.libs/libnative.a ../../libraries/clib/net/.libs/libnet.a ../../libraries/clib/io/.libs/libio.a ../../libraries/clib/nio/.libs/libnio.a /usr/lib/libiconv.so ../../libraries/clib/zip/.libs/libzip.a -lz ../../libraries/clib/management/.libs/libmanagement.a ../../libraries/clib/security/.libs/libsecurity.a /var/tmp/kaffe-1.1.6/work/kaffe-1.1.6/kaffe/kaffevm/.libs/libkaffevm.a ../../kaffe/kaffevm/.libs/libkaffevm.a -ldl -lm ../../replace/.libs/libreplace.a ../../libraries/clib/native/.libs/libnative.a(e_scalb.o): In function `__ieee754_scalb': /var/tmp/kaffe-1.1.6/work/kaffe-1.1.6/libraries/clib/fdlibm/e_scalb.c:43: undefined reference to `KaffeMath_isnan' /var/tmp/kaffe-1.1.6/work/kaffe-1.1.6/libraries/clib/fdlibm/e_scalb.c:43: undefined reference to `KaffeMath_isnan' collect2: ld returned 1 exit status In the file: namespace.h (generated by build_mathnamespace) #define isnan KaffeMath_isnan #define finite KaffeMath_finite This two definitions isnan and finite, does not appears in the code :( But isnan and finite are being used on __ieee754_scalb We can enable the special definition _SCALB_INT just for uclibc (remember this is a special build). apply this temporary patch over libraries/clib/fdlibm/e_scalb.c (we use the alternative definitions) --------------------------------- --- /d/uLinuxTS3/GUS/kaffe-1.1.6/work/kaffe-1.1.6/libraries/clib/fdlibm/e_scalb.c 2005-04-22 12:03:49.000000000 -0500 +++ /mnt/GUS/kaffe20051017/kaffe/libraries/clib/fdlibm/e_scalb.c 2005-10-17 22:55:31.000000000 -0500 @@ -21,6 +21,10 @@ #ifndef _DOUBLE_IS_32BITS +#ifdef __UCLIBC__ +#define _SCALB_INT 1 +#endif + #ifdef _SCALB_INT #ifdef __STDC__ double __ieee754_scalb(double x, int fn) --------------------------------- Kaffe still build proper on uClibc and works faster and good as expected for me. :) please if you see something helpful, let me know. -- Gustavo Guillermo Pérez Compunauta uLinux www.compunauta.com _______________________________________________ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe