[Ecls-list] FreeBSD port

Julian St. der_julian at web.de
Mon Nov 3 12:09:16 UTC 2003


Hello again,

I would like to add ECL to the FreeBSD ports tree at the next release.
For that to work ECL should compile out-of-the-box with libgmp and libgc
from the ports tree. Lisp support on FreeBSD is growing and I think
this would attract some experienced people.

The following issues stand in the way:

I. GMP

./configure --enable-local-gmp
...
gmake
...

if [ -f CROSS-COMPILER ]; then \
        touch ecl_min; \
else \
        gcc  -o ecl_min c/cinit.o -L./ libecl.a -lgmp libgc.a -lgmp 
-lm;\ fi
/usr/bin/ld: cannot find -lgmp
gmake[1]: *** [ecl_min] Fehler 1

So I add some info for configure...

env LDFLAGS='-L/usr/local/lib' ./configure --enable-local-gmp
...
gmake
...
"gcc -shared -o libecl.so -L/usr/home/blitz/src/ecls/build/ c/main.o
libecl.a -lgc -lgmp --no-undefined  -lgmp  -lm"/usr/bin/ld: cannot find
-lgmp LAMBDA: Too many arguments to function CONTINUE.
Top level.
SI> 
gmake[2]: Entering directory `/usr/home/blitz/src/ecls/build/doc'
gmake[2]: Für das Ziel »all« ist nichts zu tun.
gmake[2]: Leaving directory `/usr/home/blitz/src/ecls/build/doc'
gmake[1]: Leaving directory `/usr/home/blitz/src/ecls/build'

So gmake succeeds, but no ecl binary is generated.

II. Garbage Collector

./configure --enable-local-boehm
...
gmake
...
In file included from /usr/home/blitz/src/ecls/src/c/alloc_2.d:16:
/usr/home/blitz/src/ecls/src/h/page.h:24:16: gc.h: No such file or
directory

We can solve this by adding -I/usr/local/include to CFLAGS when
configuring, but then there is still the following error:

gcc -c -I../h -I/usr/home/blitz/src/ecls/src/c
-I/usr/home/blitz/src/ecls/src/h  -I/usr/local/include -Dfreebsd -fPIC
-fstrict-aliasing -o alloc_2.o
alloc_2.c/usr/home/blitz/src/ecls/src/c/alloc_2.d:18:29:
private/gc_priv.h: No such file or directory

Unfortunately this header file does not get installed by the
boehm-weiser garbage collector.


==> 
It would be nice for the configure script to find the GMP library
location and the GC headers itself. As for gc_priv.h I don't know, how
to solve this. Would it be ok to do some configure magic, so the build
uses gc_priv.h from src/gc ? Somethings wrong with using a local gmp,
too. :-/

Regards,
Julian
-- 
      All I want for Christmas is Santa's list of naughty girls.




More information about the ecl-devel mailing list