1.0.5.35: stack alignment on x86/Darwin, once more
[sbcl.git] / README
1 GENERAL INFORMATION
2
3 Welcome to SBCL.
4
5 To find out more about who created the system, see the "CREDITS" file.
6
7 If you'd like information about the legalities of copying the system,
8 see the "COPYING" file.
9
10 If you'd like to install or build the system, see the "INSTALL" file.
11
12 If you'd like more information about using the system, see the man
13 page, "sbcl.1", or the user manual in the "doc/" subdirectory of the
14 distribution. (The user manual is maintained as DocBook SGML in the
15 source distribution; there is an HTML version in the binary
16 distribution.)
17
18 The system is a work in progress. See the "TODO" file in the source
19 distribution for some highlights.
20
21 If you'd like to make suggestions, report a bug, or help to improve the
22 system, please send mail to one of the mailing lists:
23   sbcl-help@lists.sourceforge.net
24   sbcl-devel@lists.sourceforge.net
25
26
27 SYSTEM-SPECIFIC HINTS
28
29 for NetBSD:
30   NetBSD 2.0 and above are required because of the lack of needed
31   signal APIs in NetBSD 1.6 and earlier.
32
33 for OpenBSD:
34   OpenBSD 3.0 has stricter ulimit values, and/or enforces them more
35   strictly, than its predecessors. Therefore SBCL's initial mmap()
36   won't work unless you increase the limit on the data segment from
37   the OpenBSD defaults, e.g. with
38     ulimit -S -d 1000000
39   before you run SBCL. Otherwise SBCL fails with a message like
40   "ensure_space: failed to validate xxxxxxx bytes at yyyyy". (SBCL
41   is just allocating this huge address space, not actually using this
42   huge memory at this point. OpenBSD <3.0 had no problem with this,
43   but OpenBSD 3.0 is less hospitable.)
44
45 for Darwin:
46   PURIFY (which can be used alone but is also used by the system when
47   saving a new core) uses more stack than the default limit on MacOS
48   X.2.  Therefore, in order to get PURIFY to work reliably, you need
49   to increase the limit, with e.g.
50     limit stack 8192 # for the default shell, tcsh
51     ulimit -s 8192 # for bash
52   before running SBCL.  This is also necessary when building the system
53   from sources, as part of the build process involves saving a new core.