source: general/prog/clisp.xml@ c542f64b

trunk
Last change on this file since c542f64b was 0c9bd83, checked in by Xi Ruoyao <xry111@…>, 3 weeks ago

clisp: Don't decrease stack hard limit

In bash "ulimit -s 16384" sets both the soft and hard limits to 16 MiB
(as long as the hard limit is not smaller than 16 MiB). But the default
hard limit is infinite, thus we are decreasing the hard limit. Add "-S"
so it only changes the soft limit (the default is 8 MiB and the
configure script says it's not enough).

  • Property mode set to 100644
File size: 7.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY clisp-download-http "&gnu-http;/clisp/latest/clisp-&clisp-version;.tar.bz2">
8 <!ENTITY clisp-download-ftp " ">
9 <!ENTITY clisp-md5sum "1962b99d5e530390ec3829236d168649">
10 <!ENTITY clisp-size "7.8 MB">
11 <!ENTITY clisp-buildsize "163 MB (add 8 MB for tests)">
12 <!ENTITY clisp-time "0.9 SBU (1.2 SBU with tests)">
13]>
14
15<sect1 id="clisp" xreflabel="Clisp-&clisp-version;">
16 <?dbhtml filename="clisp.html"?>
17
18
19 <title>Clisp-&clisp-version;</title>
20
21 <indexterm zone="clisp">
22 <primary sortas="a-Clisp">Clisp</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Clisp</title>
27
28 <para>
29 <application>GNU Clisp</application> is a Common Lisp implementation
30 which includes an interpreter, compiler, debugger, and many extensions.
31 </para>
32
33 &lfs122_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&clisp-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&clisp-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &clisp-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &clisp-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &clisp-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &clisp-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
70 <itemizedlist spacing='compact'>
71 <listitem>
72 <para>
73 Optional patch: <ulink
74 url="&patch-root;/clisp-&clisp-version;-readline7_fixes-1.patch"/>
75 (required if building against libffcall)
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Clisp Dependencies</bridgehead>
81 <bridgehead renderas="sect4">Recommended</bridgehead>
82 <para role="recommended">
83 <xref linkend="libsigsegv"/>
84 </para>
85
86 <bridgehead renderas="sect4">Optional</bridgehead>
87 <para role="optional">
88 <xref linkend="libnsl"/> and
89 <ulink url="https://www.gnu.org/software/libffcall/">libffcall</ulink>
90 </para>
91
92 </sect2>
93
94 <sect2 role="installation">
95 <title>Installation of Clisp</title>
96
97 <note>
98 <para>
99 This package does not support parallel build.
100 </para>
101 </note>
102
103 <para>
104 If you are building on a 32-bit system, work around a bug in GCC caused
105 by the latest version of binutils:
106 </para>
107
108<screen><userinput remap="pre">case $(uname -m) in
109 i?86) export CFLAGS="${CFLAGS:--O2 -g} -falign-functions=4" ;;
110esac</userinput></screen>
111
112 <para>
113 Remove two tests which fail for unknown reasons:
114 </para>
115
116<screen><userinput>sed -i -e '/socket/d' -e '/"streams"/d' tests/tests.lisp</userinput></screen>
117
118 <para>
119 Install <application>Clisp</application> by running the following
120 commands:
121 </para>
122
123 <para>
124 If you are building <application>clisp</application> against
125 <application>libffcall</application>, apply the patch to fix a build failure
126 with current <application>readline</application>:
127 </para>
128
129<screen><userinput>patch -Np1 -i ../clisp-&clisp-version;-readline7_fixes-1.patch</userinput></screen>
130
131 <para>
132 Install <application>Clisp</application> by running the following
133 commands:
134 </para>
135
136<screen><userinput>mkdir build &amp;&amp;
137cd build &amp;&amp;
138
139../configure --srcdir=../ \
140 --prefix=/usr \
141 --docdir=/usr/share/doc/clisp-&clisp-version; \
142 --with-libsigsegv-prefix=/usr &amp;&amp;
143
144ulimit -S -s 16384 &amp;&amp;
145make -j1</userinput></screen>
146
147 <para>
148 To test the results, issue: <command>make check</command>.
149 </para>
150
151 <para>
152 Now, as the <systemitem class="username">root</systemitem> user:
153 </para>
154
155<screen role="root"><userinput>make install</userinput></screen>
156 </sect2>
157
158 <sect2 role="commands">
159 <title>Command Explanations</title>
160
161 <para>
162 <command>ulimit -s 16384</command>: this increases the maximum stack
163 size, as recommended by the <command>configure</command>.
164 </para>
165
166 <para>
167 <parameter>--docdir=/usr/share/doc/clisp-&clisp-version;</parameter>:
168 this switch forces the HTML documentation to be installed into a
169 versioned directory, rather than into <filename
170 class="directory">/usr/share/html/</filename>.
171 </para>
172
173 <para>
174 <parameter>--with-libsigsegv-prefix=/usr</parameter>: use this to tell
175 <command>configure</command> that you have installed
176 <package>libsigsegv</package> in /usr, otherwise it will not be
177 found.
178 </para>
179
180 <para>
181 <option>--with-libffcall-prefix=/usr</option>: use this to tell
182 <command>configure</command> that you have installed the optional
183 <package>libffcall</package> package in /usr, otherwise like
184 <package>libsigsegv</package> it will not be found.
185 </para>
186
187 </sect2>
188
189 <sect2 role="content">
190 <title>Contents</title>
191
192 <segmentedlist>
193 <segtitle>Installed Programs</segtitle>
194 <segtitle>Installed Libraries</segtitle>
195 <segtitle>Installed Directories</segtitle>
196
197 <seglistitem>
198 <seg>
199 clisp and clisp-link
200 </seg>
201 <seg>
202 various static libraries in
203 <filename class="directory">/usr/lib/clisp-&clisp-version;/base/</filename>
204 </seg>
205 <seg>
206 /usr/lib/clisp-&clisp-version;,
207 /usr/share/doc/clisp-&clisp-version;, and
208 /usr/share/emacs/site-lisp
209 </seg>
210 </seglistitem>
211 </segmentedlist>
212
213 <variablelist>
214 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
215 <?dbfo list-presentation="list"?>
216 <?dbhtml list-presentation="table"?>
217
218 <varlistentry id="clisp-prog">
219 <term><command>clisp</command></term>
220 <listitem>
221 <para>
222 is an ANSI Common Lisp compiler, interpreter, and debugger
223 </para>
224 <indexterm zone="clisp clisp-prog">
225 <primary sortas="b-clisp">clisp</primary>
226 </indexterm>
227 </listitem>
228 </varlistentry>
229
230 <varlistentry id="clisp-link">
231 <term><command>clisp-link</command></term>
232 <listitem>
233 <para>
234 is used to link an external module to clisp
235 </para>
236 <indexterm zone="clisp clisp-link">
237 <primary sortas="b-clisp-link">clisp-link</primary>
238 </indexterm>
239 </listitem>
240 </varlistentry>
241 </variablelist>
242
243 </sect2>
244
245</sect1>
Note: See TracBrowser for help on using the repository browser.