[ Home ]
SBCL Internals

The pages on this CLiki-driven site can be edited by anybody at any time. No warranty of any kind can therefore be made; any implied warranties of merchantability or fitness for a particular purpose are expressly disclaimed
[ Home ] [ Recent Changes ] [ About CLiki ] [ Text Formatting ]

Cross-compilation problems

In an ideal world, SBCL would build on any ANSI-compliant Common Lisp environment, using any C compiler and assembler to make the runtime. However, there remain problems with several combinations of these.

Lisp problems

SBCL

No current known problems. Note that it is possible for a freshly-built SBCL to be unable to compile itself, though this is rare; as an example, consider the removal of the "unused" slot in symbols.

CMUCL/x86

This is a supported host CL compiler; recent versions work without trouble; less recent versions (e.g. 2.4.19 in Debian's "potato" distribution) can have problems in the presence of inaccurate IGNORE declarations.

Cross-compiling SBCL/ppc from CMUCL/x86 fails with "unknown SC to SC-Case for: SB!VM:DESCRIPTOR-REG" in make-host-2? (the error comes from DEFINE-VOP DOUBLE-FLOAT-HIGH-BITS). This is probably a bug in SBCL/ppc, tickled by a CMUCL implementation choice that differs.

CMUCL/sparc-solaris

Rahul Jain? reports that an error occurs while making floats. This might be KLUDGEd around by removing the trap on floating-point-underflow from the solaris cmucl binary. Fixed in ansify.lisp. This should work as a build host

CLISP/x86

CLISP/x86, CVS as of 2003-04-20, has successfully built unithreaded SBCL for x86/Linux with the aid of a patch on sbcl-devel, some version of which will be integrated into SBCL's CVS.

OpenMCL/ppc

No known problems.

Runtime build problems

SPARC/Solaris/Sun toolchain

Firstly, the assembler syntax is currently incompatible with Sun's assembler; secondly, there seems to be a problem with linking with Sun's linker.

General

Cross-compilation of the runtime (i.e. building on one platform with a C cross-compiler) is currently unlikely to work, because of a slight mess of __i386__ and the like preprocessor conditionals. This is in the process of being slowly fixed (by changing those conditionals to use LISP_FEATURE_X86 instead).

This page is linked from: Build  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively