[kaffe] Kaffe ieee754_scalb - uClibc status
Gustavo Guillermo Pérez
gustavo at compunauta.com
Tue Oct 18 10:30:33 PDT 2005
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
More information about the kaffe
mailing list