On Tue, 18 Oct 2005, Gustavo Guillermo Pérez wrote: > 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.
Use gentoo, there this issue is solved ;) It is caused by old configure scripts that need patching so that they correctly recognise shared lib support in uClibc. Signs for incorrect recognition when running configure: a. shared lib support is disabled although you used --enabled-shared b. dependancy : unknown The above sentences about static are incorrect, I have built kaffe w/ shared lib support, both 1.1.5 and .6 in a gentoo env. > 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 I had only the first one missing and removed #define isnan ... from namespace.h (I am using the full susv3 patches from bugs.uclibc.org though, so my libm is different from upstream) Peter > > 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. > -- Peter S. Mazinger <ps dot m at gmx dot net> ID: 0xA5F059F2 Key fingerprint = 92A4 31E1 56BC 3D5A 2D08 BB6E C389 975E A5F0 59F2 _______________________________________________ kaffe mailing list [email protected] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
