source: BOOK/final-system/common/perl.xml@ 867103a

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 867103a was d10818d, checked in by Joe Ciccone <jciccone@…>, 16 years ago

Add a patch to perl that prevents it from including asm/page.h. This resolves ticket 160 and future problems with kernel headers provided by 2.6.25 and forward.

  • Property mode set to 100644
File size: 16.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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
8<sect1 id="ch-system-perl" role="wrap">
9 <?dbhtml filename="perl.html"?>
10
11 <title>Perl-&perl-version;</title>
12
13 <indexterm zone="ch-system-perl">
14 <primary sortas="a-Perl">Perl</primary>
15 </indexterm>
16
17 <sect2 role="package">
18 <title/>
19
20 <para>The Perl package contains the Practical Extraction and Report
21 Language.</para>
22
23 </sect2>
24
25 <sect2 role="installation">
26 <title>Installation of Perl</title>
27
28 <para os="p1">The following patch causes makedepend.sh to also remove
29 <literal>&lt;command-line&gt;</literal> as well as
30 <literal>&lt;command line&gt;</literal>:</para>
31
32<screen os="p2"><userinput>patch -Np1 -i ../&perl-gcc42_fix-patch;</userinput></screen>
33
34 <para os="p3">The following patch prevents perl from including asm/page.h
35 which will no longer be available in headers provided by kernel 2.6.25 and
36 forward:</para>
37
38<screen os="p4"><userinput>patch -Np1 -i ../&perl-no_page_h-patch;</userinput></screen>
39
40 <para os="s1">The following sed causes <filename>DynaLoader.a</filename>
41 to be built with -fPIC so it can be linked into a shared library
42 later:</para>
43
44<screen os="s2"><userinput>sed -i -e "s@pldlflags=''@pldlflags=\"\$cccdlflags\"@g" \
45 -e "s@static_target='static'@static_target='static_pic'@g" Makefile.SH</userinput></screen>
46
47 <note os="a00">
48 <para>If you are following the boot method you will need to enable the
49 loopback device as well as set a hostname for some of the tests:</para>
50
51 <screen><userinput>ip link set lo up
52hostname clfs</userinput></screen>
53 </note>
54
55 <para os="a01">Before starting to configure, create a basic
56 <filename>/etc/hosts</filename> file which will be referenced in one
57 of Perl's configuration files as well as being used used by the testsuite
58 if you run that:</para>
59
60<screen os="a02"><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
61
62 <para os="a">To have full control over the way Perl is set up, you can
63 run the interactive <command>Configure</command> script and hand-pick
64 the way this package is built. If you prefer instead to use the defaults
65 that Perl auto-detects, prepare Perl for compilation with:</para>
66
67<screen os="b"><userinput>CC=gcc ./configure.gnu --prefix=/usr \
68 -Dman1dir=/usr/share/man/man1 \
69 -Dman3dir=/usr/share/man/man3 \
70 -Dpager="/bin/less -isR" \
71 -Dusethreads</userinput></screen>
72
73 <variablelist os="c">
74 <title>The meaning of the configure option:</title>
75
76 <varlistentry os="c1">
77 <term><parameter>-Dpager="/bin/less -isR"</parameter></term>
78 <listitem>
79 <para>This corrects an error in the way that <command>perldoc</command>
80 invokes the <command>less</command> program.</para>
81 </listitem>
82 </varlistentry>
83 <varlistentry os="c2">
84 <term><parameter>-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3</parameter></term>
85 <listitem>
86 <para>Since Groff is not installed yet,
87 <command>configure.gnu</command> thinks that we do not want
88 man pages for Perl. Issuing these parameters overrides this decision.</para>
89 </listitem>
90 </varlistentry>
91 <varlistentry os="c3">
92 <term><parameter>-Dusethreads</parameter></term>
93 <listitem>
94 <para>This tells Perl to use threads.</para>
95 </listitem>
96 </varlistentry>
97 </variablelist>
98
99 <para os="d">Compile the package:</para>
100
101<screen os="e"><userinput>make</userinput></screen>
102
103 <para os="h">To test the results, issue:
104 <userinput>make test</userinput>.</para>
105
106 <para os="j">Install the package:</para>
107
108<screen os="k"><userinput>make install</userinput></screen>
109
110 </sect2>
111
112 <sect2 id="contents-perl" role="content">
113 <title>Contents of Perl</title>
114
115 <segmentedlist>
116 <segtitle>Installed programs</segtitle>
117 <segtitle>Installed libraries</segtitle>
118
119 <seglistitem>
120 <seg>a2p, c2ph, cpan, dprofpp, enc2xs, find2perl, h2ph, h2xs, instmodsh, libnetcfg,
121 perl, perl&perl-version; (link to perl), perlbug, perlcc, perldoc,
122 perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text,
123 pod2usage, podchecker, podselect, prove, psed (link to s2p), pstruct (link
124 to c2ph), s2p, splain, and xsubpp</seg>
125 <seg>Several hundred which cannot all be listed here</seg>
126 </seglistitem>
127 </segmentedlist>
128
129 <variablelist>
130 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
131 <?dbfo list-presentation="list"?>
132 <?dbhtml list-presentation="table"?>
133
134 <varlistentry id="a2p">
135 <term><command>a2p</command></term>
136 <listitem>
137 <para>Translates awk to Perl</para>
138 <indexterm zone="ch-system-perl a2p">
139 <primary sortas="b-a2p">a2p</primary>
140 </indexterm>
141 </listitem>
142 </varlistentry>
143
144 <varlistentry id="c2ph">
145 <term><command>c2ph</command></term>
146 <listitem>
147 <para>Dumps C structures as generated from
148 <command>cc -g -S</command></para>
149 <indexterm zone="ch-system-perl c2ph">
150 <primary sortas="b-c2ph">c2ph</primary>
151 </indexterm>
152 </listitem>
153 </varlistentry>
154
155 <varlistentry id="cpan">
156 <term><command>cpan</command></term>
157 <listitem>
158 <para>Shell script that provides a command interface to CPAN.pm</para>
159 <indexterm zone="ch-system-perl cpan">
160 <primary sortas="b-cpan">cpan</primary>
161 </indexterm>
162 </listitem>
163 </varlistentry>
164
165 <varlistentry id="dprofpp">
166 <term><command>dprofpp</command></term>
167 <listitem>
168 <para>Displays Perl profile data</para>
169 <indexterm zone="ch-system-perl dprofpp">
170 <primary sortas="b-dprofpp">dprofpp</primary>
171 </indexterm>
172 </listitem>
173 </varlistentry>
174
175 <varlistentry id="enc2xs">
176 <term><command>enc2xs</command></term>
177 <listitem>
178 <para>Builds a Perl extension for the Encode module from either
179 Unicode Character Mappings or Tcl Encoding Files</para>
180 <indexterm zone="ch-system-perl enc2xs">
181 <primary sortas="b-enc2xs">enc2xs</primary>
182 </indexterm>
183 </listitem>
184 </varlistentry>
185
186 <varlistentry id="find2perl">
187 <term><command>find2perl</command></term>
188 <listitem>
189 <para>Translates <command>find</command> commands to Perl</para>
190 <indexterm zone="ch-system-perl find2perl">
191 <primary sortas="b-find2perl">find2perl</primary>
192 </indexterm>
193 </listitem>
194 </varlistentry>
195
196 <varlistentry id="h2ph">
197 <term><command>h2ph</command></term>
198 <listitem>
199 <para>Converts <filename class="extension">.h</filename> C header
200 files to <filename class="extension">.ph</filename> Perl header
201 files</para>
202 <indexterm zone="ch-system-perl h2ph">
203 <primary sortas="b-h2ph">h2ph</primary>
204 </indexterm>
205 </listitem>
206 </varlistentry>
207
208 <varlistentry id="h2xs">
209 <term><command>h2xs</command></term>
210 <listitem>
211 <para>Converts <filename class="extension">.h</filename> C header
212 files to Perl extensions</para>
213 <indexterm zone="ch-system-perl h2xs">
214 <primary sortas="b-h2xs">h2xs</primary>
215 </indexterm>
216 </listitem>
217 </varlistentry>
218
219 <varlistentry id="libnetcfg">
220 <term><command>libnetcfg</command></term>
221 <listitem>
222 <para>Can be used to configure the
223 <filename class="libraryfile">libnet</filename></para>
224 <indexterm zone="ch-system-perl libnetcfg">
225 <primary sortas="b-libnetcfg">libnetcfg</primary>
226 </indexterm>
227 </listitem>
228 </varlistentry>
229
230 <varlistentry id="instmodsh">
231 <term><command>instmodsh</command></term>
232 <listitem>
233 <para>A shell script for examining installed Perl modules,
234 and can even create a tarball from an installed module</para>
235 <indexterm zone="ch-system-perl instmodsh">
236 <primary sortas="b-instmodsh">instmodsh</primary>
237 </indexterm>
238 </listitem>
239 </varlistentry>
240
241 <varlistentry id="perl">
242 <term><command>perl</command></term>
243 <listitem>
244 <para>Combines some of the best features of C, <command>sed</command>,
245 <command>awk</command> and <command>sh</command> into a single
246 swiss-army-knife language</para>
247 <indexterm zone="ch-system-perl perl">
248 <primary sortas="b-perl">perl</primary>
249 </indexterm>
250 </listitem>
251 </varlistentry>
252
253 <varlistentry id="perl-version">
254 <term><command>perl&perl-version;</command></term>
255 <listitem>
256 <para>A hard link to <command>perl</command></para>
257 <indexterm zone="ch-system-perl perl-version">
258 <primary sortas="b-perl&perl-version;">perl&perl-version;</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
263 <varlistentry id="perlbug">
264 <term><command>perlbug</command></term>
265 <listitem>
266 <para>Used to generate bug reports about Perl, or the modules that come
267 with it, and mail them</para>
268 <indexterm zone="ch-system-perl perlbug">
269 <primary sortas="b-perlbug">perlbug</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="perlcc">
275 <term><command>perlcc</command></term>
276 <listitem>
277 <para>Generates executables from Perl programs</para>
278 <indexterm zone="ch-system-perl perlcc">
279 <primary sortas="b-perlcc">perlcc</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="perldoc">
285 <term><command>perldoc</command></term>
286 <listitem>
287 <para>Displays a piece of documentation in pod format that is embedded
288 in the Perl installation tree or in a Perl script</para>
289 <indexterm zone="ch-system-perl perldoc">
290 <primary sortas="b-perldoc">perldoc</primary>
291 </indexterm>
292 </listitem>
293 </varlistentry>
294
295 <varlistentry id="perlivp">
296 <term><command>perlivp</command></term>
297 <listitem>
298 <para>The Perl Installation Verification Procedure; it can be used to
299 verify that Perl and its libraries have been installed
300 correctly</para>
301 <indexterm zone="ch-system-perl perlivp">
302 <primary sortas="b-perlivp">perlivp</primary>
303 </indexterm>
304 </listitem>
305 </varlistentry>
306
307 <varlistentry id="piconv">
308 <term><command>piconv</command></term>
309 <listitem>
310 <para>A Perl version of the character encoding converter
311 <command>iconv</command></para>
312 <indexterm zone="ch-system-perl piconv">
313 <primary sortas="b-piconv">piconv</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="pl2pm">
319 <term><command>pl2pm</command></term>
320 <listitem>
321 <para>A rough tool for converting Perl4
322 <filename class="extension">.pl</filename> files to Perl5
323 <filename class="extension">.pm</filename> modules</para>
324 <indexterm zone="ch-system-perl pl2pm">
325 <primary sortas="b-pl2pm">pl2pm</primary>
326 </indexterm>
327 </listitem>
328 </varlistentry>
329
330 <varlistentry id="pod2html">
331 <term><command>pod2html</command></term>
332 <listitem>
333 <para>Converts files from pod format to HTML format</para>
334 <indexterm zone="ch-system-perl pod2html">
335 <primary sortas="b-pod2html">pod2html</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
340 <varlistentry id="pod2latex">
341 <term><command>pod2latex</command></term>
342 <listitem>
343 <para>Converts files from pod format to LaTeX format</para>
344 <indexterm zone="ch-system-perl pod2latex">
345 <primary sortas="b-pod2latex">pod2latex</primary>
346 </indexterm>
347 </listitem>
348 </varlistentry>
349
350 <varlistentry id="pod2man">
351 <term><command>pod2man</command></term>
352 <listitem>
353 <para>Converts pod data to formatted *roff input</para>
354 <indexterm zone="ch-system-perl pod2man">
355 <primary sortas="b-pod2man">pod2man</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
360 <varlistentry id="pod2text">
361 <term><command>pod2text</command></term>
362 <listitem>
363 <para>Converts pod data to formatted ASCII text</para>
364 <indexterm zone="ch-system-perl pod2text">
365 <primary sortas="b-pod2text">pod2text</primary>
366 </indexterm>
367 </listitem>
368 </varlistentry>
369
370 <varlistentry id="pod2usage">
371 <term><command>pod2usage</command></term>
372 <listitem>
373 <para>Prints usage messages from embedded pod docs in files</para>
374 <indexterm zone="ch-system-perl pod2usage">
375 <primary sortas="b-pod2usage">pod2usage</primary>
376 </indexterm>
377 </listitem>
378 </varlistentry>
379
380 <varlistentry id="podchecker">
381 <term><command>podchecker</command></term>
382 <listitem>
383 <para>Checks the syntax of pod format documentation files</para>
384 <indexterm zone="ch-system-perl podchecker">
385 <primary sortas="b-podchecker">podchecker</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="podselect">
391 <term><command>podselect</command></term>
392 <listitem>
393 <para>Displays selected sections of pod documentation</para>
394 <indexterm zone="ch-system-perl podselect">
395 <primary sortas="b-podselect">podselect</primary>
396 </indexterm>
397 </listitem>
398 </varlistentry>
399
400 <varlistentry id="prove">
401 <term><command>prove</command></term>
402 <listitem>
403 <para>A command-line tool for running tests against Test::Harness</para>
404 <indexterm zone="ch-system-perl prove">
405 <primary sortas="b-prove">prove</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="psed">
411 <term><command>psed</command></term>
412 <listitem>
413 <para>A Perl version of the stream editor <command>sed</command></para>
414 <indexterm zone="ch-system-perl psed">
415 <primary sortas="b-psed">psed</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="pstruct">
421 <term><command>pstruct</command></term>
422 <listitem>
423 <para>Dumps C structures as generated from <command>cc -g -S</command>
424 stabs</para>
425 <indexterm zone="ch-system-perl pstruct">
426 <primary sortas="b-pstruct">pstruct</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="s2p">
432 <term><command>s2p</command></term>
433 <listitem>
434 <para>Translates <command>sed</command> to Perl</para>
435 <indexterm zone="ch-system-perl s2p">
436 <primary sortas="b-s2p">s2p</primary>
437 </indexterm>
438 </listitem>
439 </varlistentry>
440
441 <varlistentry id="splain">
442 <term><command>splain</command></term>
443 <listitem>
444 <para>Is used to force verbose warning diagnostics in Perl</para>
445 <indexterm zone="ch-system-perl splain">
446 <primary sortas="b-splain">splain</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
450
451 <varlistentry id="xsubpp">
452 <term><command>xsubpp</command></term>
453 <listitem>
454 <para>Converts Perl XS code into C code</para>
455 <indexterm zone="ch-system-perl xsubpp">
456 <primary sortas="b-xsubpp">xsubpp</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 </variablelist>
462
463 </sect2>
464
465</sect1>
Note: See TracBrowser for help on using the repository browser.