[Ecls-list] Compilation errors for libecl.a on OSX Intel
Joseph Nunn
josephnunn at gmail.com
Thu May 29 13:46:11 UTC 2008
Hello all, my first post here. I'm working on a project for a grad
class and would like to embed ECL into a game engine as a scripting/AI
language. I've used Lisp before for some standalone AI projects and
think it will be a better choice for me than the usual Lua etc.
However most of my Lisp experience is with CMUCL and more recently
SBCL. I don't have the time to write my own renderer in lisp (one
day...), so I'm going with a C renderer. I could call out from a lisp
to it using a FFI, but it needs to be faster than that. Looks like
embedding ECL statically could be the solution.
However I'm running into problems trying to build with the --disable-
shared configuration option on OSX, intel arch. I suppose that a
dylib would work, but its harder to use and not as fast, which is
important in this project.
Is this OS/arch combination supposed to work for ECL static build?
I'm running into problems such that I think not but maybe its supposed
to be.
0.9j fails here:
;;; Note: Invoking external command:
;;; gcc -o "/usr/local/src/ecl-0.9j/build/bin/ecl" -L"/usr/local/lib/
ecl/" "/usr/local/src/ecl-0.9j/build/ECLINIT7Hnb4o.o" "-lserve-event"
"-lsockets" "-lcmp" "-L./" libecl.a -leclgmp -leclgc -lm
Undefined symbols:
"_init_lib_ECL_SERVE_EVENT", referenced from:
_init_lib_ECL_SERVE_EVENT$non_lazy_ptr in ECLINIT7Hnb4o.o
"_init_lib_ECL_CMP", referenced from:
_init_lib_ECL_CMP$non_lazy_ptr in ECLINIT7Hnb4o.o
"_init_lib_ECL_SOCKETS", referenced from:
_init_lib_ECL_SOCKETS$non_lazy_ptr in ECLINIT7Hnb4o.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
LAMBDA: Too many arguments to function CONTINUE.
Broken at TOP-LEVEL.No restarts available.
Top level.
SI>
So I went to CVS, but I get a syntax error in gcconfig.h at line 303
--> Not really supported, but at least we recognize it.
which doesn't seem to be a problem in 0.9j (code regression?)
Anyways, If I comment that line out and continue I get errors as
follows:
gcc -fPIC -fno-common -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\" -
DPACKAGE_VERSION=\"6.5\" "-DPACKAGE_STRING=\"gc 6.5\"" -
DPACKAGE_BUGREPORT=\"Hans.Boehm at hp.com\" -DGC_VERSION_MAJOR=6 -
DGC_VERSION_MINOR=5 -DPACKAGE=\"gc\" -DVERSION=\"6.5\" -
DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -
DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -
DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -
DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -
DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -
DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I/
usr/local/src/ecl-cvs/ecls/src/gc/include -fexceptions -g -O2 -fstrict-
aliasing -fexceptions -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo -c /
usr/local/src/ecl-cvs/ecls/src/gc/os_dep.c -o os_dep.o
/usr/local/src/ecl-cvs/ecls/src/gc/os_dep.c: In function
'GC_get_stack_base':
/usr/local/src/ecl-cvs/ecls/src/gc/os_dep.c:1068: error: 'result'
undeclared (first use in this function)
/usr/local/src/ecl-cvs/ecls/src/gc/os_dep.c:1068: error: (Each
undeclared identifier is reported only once
/usr/local/src/ecl-cvs/ecls/src/gc/os_dep.c:1068: error: for each
function it appears in.)
/usr/local/src/ecl-cvs/ecls/src/gc/os_dep.c: In function
'GC_register_data_segments':
/usr/local/src/ecl-cvs/ecls/src/gc/os_dep.c:1453: error: 'DATASTART'
undeclared (first use in this function)
make[3]: *** [os_dep.lo] Error 1
make[2]: *** [install-recursive] Error 1
make[1]: *** [libeclgc.a] Error 2
make: *** [all] Error 2
Which makes sense in that its the garbage collector that is failing,
but now I'm confused because this is not where the compilation was
failing in 0.9j, which is, presumably, an earlier snapshot of the CVS
repository.
Can anyone clue me in as to the support or lack thereof for static
library building on Intel OSX and suggestions they might have for me?
Thanks!
Joseph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20080529/cd867ae5/attachment.html>
More information about the ecl-devel
mailing list