Build failure while trying to get scbl into raspbian jessie.
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 ."
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
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  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
. 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.
//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
(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