Hi Jerry, > I am trying to build bigloo 4.2a for the Fedora Linux distribution. I > have hit a couple of problems. First, the configure script doesn't > know about the existence of Java 1.8. The code that sets java_version > defaults to 1.3 if it doesn't understand the version. Versions 1.2 > and lower are not only extremely old, but can't even be used for many > common libraries. Wouldn't it be better to default to the highest > supported version instead of 1.3? That way, as new Java versions come > out, bigloo can at least attempt to use the same support as for the > previous version (which, admittedly, may not work ... but it might!). > > For now, I have added a clause to make the presence of Java 1.8 set > java_version to 1.7, but please let me know if that is going to cause > problems. All this makes sense. I have applied the same change and I took provision for the version 1.9, too.
> The second problem is that the build fails on an x86_64 machine like this: > > mkdir -p /builddir/build/BUILD/bigloo4.2a/lib/bigloo/4.2a/bmem > (if [ "no" = "yes" ]; then \ > libbigloogc=/usr/lib64/libbigloogc-4.2a.so.0; \ > else \ > libbigloogc=-lgc; \ > fi; \ > gcc -shared lib/init.o lib/alloc.o lib/gchook.o lib/list.o > lib/symbol.o lib/trace.o lib/thread.o \ > -L/builddir/build/BUILD/bigloo4.2a/lib/bigloo/4.2a > -lbigloo_s-4.2a \ > $libbigloo_gc \ > -ldl -lunistring -lresolv -lgmp -lpcre -lgc -lm \ > \ > -o > /builddir/build/BUILD/bigloo4.2a/lib/bigloo/4.2a/bmem/bmem.so.0) > /builddir/build/BUILD/bigloo4.2a/lib/bigloo/4.2a/libbigloo_s-4.2a.a(cstring.o): > In function `string_to_bstring_len': > /builddir/build/BUILD/bigloo4.2a/runtime/Clib/cstring.c:22: multiple > definition of `string_to_bstring_len' > lib/alloc.o:/builddir/build/BUILD/bigloo4.2a/bde/bmem/lib/alloc.c:754: > first defined here > /builddir/build/BUILD/bigloo4.2a/lib/bigloo/4.2a/libbigloo_s-4.2a.a(cstring.o): > In function `string_to_bstring': > /builddir/build/BUILD/bigloo4.2a/runtime/Clib/cstring.c:63: multiple > definition of `string_to_bstring' > lib/alloc.o:/builddir/build/BUILD/bigloo4.2a/bde/bmem/lib/alloc.c:755: > first defined here > > ... followed by many more multiple definition complaints. Any advice > you can give on resolving this problem would be much appreciated. > Thank you, The multiple definitions are expected as the purpose to the bmem.so is to be preloaded (LD_PRELOAD)! This probably means that very case, the explicit dependency -lbigloo_s4.2a should not be added when building bmem.so. I will check if that works on my machine (debian now) and if it does I will modify the Makefile accordingly. -- Manuel
