My Common Lisp and Debian blog. For more off topic rants and stuff please see my livejournal blog.

Monday, August 29, 2005

The sparc of fustration

sbcl now seems to compile on alpha and ppc again, on amd64 it already worked. sparc is leaving me in suspense already for 6 days now, on the buildd page you can see it going up and down the build queue. Highest position so far: 3. Now it is at 5 again.

Anyway, as sbcl has to wait on glibc to enter testing, which is waiting for gcc-4.0 (nice overview here), I reckon a new testing sbcl is not going to happen anytime soon.

Saturday, August 13, 2005

sbcl progress

For the last few days I've been searching for obscure sbcl crashes. It seems at the end it will not only crash if the locale is not known, but also if you are running a threading-enabled sbcl on a 2.4 kernel.
I narrowed the problem down to sbcl crashing in a pretty standard libc call: nl_langinfo. This seems related to the fact that on 2.6 glibc uses futex'es to lock non-re-entrant functions, but on 2.4 it uses signals but I fail to see how this could create a simple crash. Trying to investigate it is rather difficult because the problems changes if you use ltrace or strace, actually the crash location moves sometimes.
So in the end I decided:
  • To make sbcl-with-threading die on a 2.4 kernel or if NPTL is not available.
  • make separate sbcl images without threading for people that are still using 2.4
.
So now we have multiple cl-debian repositories:
  • deb http://people.debian.org/~pvaneynd/cl-sarge-packages ./
    for sarge 2.6 kernel
  • deb http://people.debian.org/~pvaneynd/cl-sarge24-packages ./
    for sarge 2.4 kernel
  • deb http://people.debian.org/~pvaneynd/cl-hoary-packages ./
    for hoary 2.6 kernel
  • deb http://people.debian.org/~pvaneynd/cl-hoary24-packages ./
    for hoary 2.4 kernel
  • deb http://people.debian.org/~pvaneynd/cl-breezy-packages ./
    for breezy (only 2.6 kernel)
  • deb http://people.debian.org/~pvaneynd/cl-packages ./
    for sid (only 2.6 kernel)

Regarding my darcs repository (at http://cl-debian.alioth.debian.org/repository/pvaneynd: for now it is rather nice to work with darcs. The only problem I'm having is with large changes like moving lazy-sbcl from version 0.9.0 to 0.9.3 with all the changes involved. But going step by step also seems to work well.