Re: Bigloo 4.2a build problems

[email protected]
Newsgroups gmane.lisp.scheme.bigloo
Organization Inria
Message-ID <2015106102836.56138634@arches>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.