a life of coding

Sunday, December 03, 2006

Old And In The Way (stale fasl's)

SBCL 1.0 has been released, and as expected, it breaks some things on my Powerbook. One specific problem is stale "fasl" files. Honestly, I don't even know what they are... I suspect them to be some kind of optimized bytecode used by ASDF to improve loading speed, but really (as long as they work) I don't care what they are.

SBCL will stutter something like this:

debugger invoked on a SB-FASL::INVALID-FASL-VERSION:
#<SB-SYS:FD-STREAM for "file /usr/local/lib/sbcl/site/rt-20040621/rt.fasl" {11A024F9}>
is in native code fasl file format version 70, but this version of SBCL uses
format version 71.

Searching cliki revealed that these are intermediate files that can simply be deleted. They suggest that deleting files by hand is tedious and have a nice code snippit that should make things magically refresh in the future... I'm a little more pragmatic:

find /usr/local/lib/sbcl -name '*.fasl' -exec rm {} \;

Works fine afterwards.

Update: I was a little quick to declare victory. After executing this, i was unable to (require 'asdf), since the fasl for asdf had been deleted. I reinstalled (executed sbcl-1.0/install.sh) and the problem is fixed. This seems to invalidate my previous suggestion... Maybe I should have filtered the search to only include files older than a certain date. The cliki code snippit is probably the better way to go for now.


Post a Comment


Create a Link

<< Home