Build failure while trying to get scbl into raspbian jessie.

peter green plugwash at p10link.net
Sat Dec 20 04:02:48 UTC 2014


I maintain raspbian, a Derivative of Debian for the raspberry pi (and in 
principle other armv6 devices but in practice the raspberry pi is the 
only armv6 device anyone cares about. Note however I do not know any lisp.

Like Debian armhf raspbian uses the armhf dpkg architecture name and the 
hard float ABI but unlike Debian armhf we reduce the minimum CPU 
requirement to armv6 and we use "arm mode" instead of "thumb mode"*. 
Raspbian packages and debian armhf packages should be ABI compatible 
with debian armhf packages (we cannot rule out that there are corner 
cases where they are not) though obviously a mixed system will not run 
on a Pi.

We do our building in raspian chroots on armv7 hardware. This allows us 
to use packages from Debian armhf for breaking loops and allows us to 
use hardware that has the CPU and ram to build big packages in a 
semi-reasonable time while avoiding the pain of cross-compiling. It does 
have the advantage that occasional packages that mistakenly assume that 
they should build for the CPU version they are running on but that is 
not too hard to deal with,

A user reported that sbcl was not available in raspbian at . In his 
report he made a number of assertions.

"From version 1.2.0, SBCL supports ARM [1]."
This was sourced to an official announcement which agrees with the 
statement so is presumablly true.

"There are also people running SBCL on Raspberry Pi and Beagle Bone 
Black [2]."
This was sourced to a reddit thread at 
http://www.reddit.com/r/lisp/comments/26lrnw/sbcl_120_released/ but the 
thread doesn't seem to confirm the statement, it only has people 
claiming it would be useful on the Pi and beaglebone black, not people 
saying they are actually using it on those devices.

"Debian has support for SBCL in testing (2:1.2.4-2)"
It is true that there is a package for SBCL in Debian jessie armhf and 
Debian sid armhf.

", but I've seen that same version in the Raspbian repository [3] but 
only for sbcl-doc and sbcl-source packages."
This is true, it is quite common for source packages and architecture 
independent packages to be present in the raspbian repository without 
corresponding arch specific binary packages.

Based on these assertions I went over to check what our autobuilders 
thought was going on at 
http://buildd.raspbian.org/status/package.php?p=sbcl&suite=jessie-staging 
. I found the following.

sbcl build-depends on missing:
- sbcl (> 1:0.9.5.50-9)


Ok, we have a build-dependency loop to deal with, nothing too unusual 
there. So I did what I normally do to deal with loops, I tried a build 
in a mostly raspbian environment but with some packages from Debian 
armhf. Unfortunately it failed with.

//entering make-host-1.sh
//building cross-compiler, and doing first genesis
make-host-1.sh: 34: make-host-1.sh: /sbcl-1.2.4/stage1/bin/sbcl: not found
Command exited with non-zero status 1
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 568maxresident)k
0inputs+0outputs (0major+266minor)pagefaults 0swaps
debian/rules:45: recipe for target 'build-arch-stamp' failed
make: *** [build-arch-stamp] Error 1
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2
root at odroidu2:/sbcl-1.2.4#

A full log is available at 
https://bugs.launchpad.net/raspbian/+bug/1404194/+attachment/4284490/+files/sbcl.log 
(note: I forgot to log the output the first time so I ran 
dpkg-buildpackage again, this is the output of the second run, the error 
was the same though)

So this leaves me with a couple of questions.
1: Does sbcl support armv6 systems at all? or am I wasting my time here?
2: If sbcl is supposed to support armv6 systems sny idea what is going 
wrong in our build?

P.S. i'm currently trying a build as nonroot just in case this is one of 
those annoying packages that doesn't like to be built as root



More information about the pkg-common-lisp-devel mailing list