From: Jamie C. <ja...@ja...> - 2007-07-13 11:02:26
|
Hi, On Wed, Jul 11, 2007 at 10:42:47AM -0400, Sam Steingold wrote: > Jamie Craig wrote: > > On Wed, Jul 11, 2007 at 09:20:12AM -0400, Sam Steingold wrote: > >> Jamie Craig wrote: > >>> The following might shed some light on the problems: > >>> When I run configure (CFLAGS set to -DSAFETY=3 -mcpu=arm1136j-s, no > >> what happens when you drop it? > > > > I get a binary that crashes (segfault) when it tries to compile one of > > the first few LISP files. (defs? I'll check and get back to you on > > that.) > > yes, defs - this is the first GC. > please try replacing SAFETY=3 with NO_GENERATIONAL_GC (see the first 50 > lines of src/lispbibl.d). Thanks, that worked nicely. What needs done to make the generational GC work on a new platform? (this is a horribly RAM-starved platform, bearing in mind that it's running full X11 etc. in 128M, so I can see the GC having a fair bit of work to do. :) ) > > static inline unsigned int check_uint_defaulted (object obj, unsigned > > int defolt) { return missingp(obj) ? defolt : > > I_to_uint(check_uint(obj)); } > > > > and it seems to be the word "object" that it objects to > > indeed. > so, why isn't object defined? > you should have something like > > typedef void * gcv_object_t; > typedef gcv_object_t object; > > see src/genclisph.d and build/gen.lispbibl.c Thanks for this one too. Turned out that gen.lispbibl.c was generated empty, which was caused by busybox's sed not liking the regexps in the Makefile much. Oddly it ran OK, but deleted the contents of every line from the output except the header #line tag. I just installed regular GNU sed and it straightened that out with no further complications. In fact, despite vacall-arm being broken, it managed to compile at least enough of the FFI bits and pieces for readline to work (the module seems to depend on the existence of it - certainly it didn't compile when set up with configure --without-dynamic-ffi. The defpackage in readline.lisp says it uses (:use "CL" "EXT" "FFI")) So, for future reference for anyone else trying to get it going on small ARM linux platforms: CFLAGS="-DNO_GENERATIONAL_GC" and install GNU sed is all it takes to get it to work on the Nokia N800. There are no particular configure options needed to make it work. Oh, and without -DSAFETY we get: Test passed. real 5m28.941s user 4m58.844s sys 0m13.234s Not too shabby - I guess debugging adds about 10 seconds to that time normally. Thanks again for your help, -- Jamie Craig <ja...@ja...> |