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
RevLine 
[3f8be484]1<?xml version="1.0" encoding="ISO-8859-1"?>
[aa18ac0]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[3f8be484]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
[3508ede]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
[d10818d]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
[96d0fe5]40 <para os="s1">The following sed causes <filename>DynaLoader.a</filename>
[6a7f467]41 to be built with -fPIC so it can be linked into a shared library
[040521bc]42 later:</para>
[6a7f467]43
[da50a69]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>
[6a7f467]46
[d73cf0a]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
[0b1aa01]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
[0764f45]58 if you run that:</para>
[0b1aa01]59
[d73cf0a]60<screen os="a02"><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
[0b1aa01]61
[cfe892d]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>
[3f8be484]66
[6cc6f0a]67<screen os="b"><userinput>CC=gcc ./configure.gnu --prefix=/usr \
[bbf90e8]68 -Dman1dir=/usr/share/man/man1 \
69 -Dman3dir=/usr/share/man/man3 \
[c33fed0]70 -Dpager="/bin/less -isR" \
71 -Dusethreads</userinput></screen>
[3f8be484]72
[e0e40d3]73 <variablelist os="c">
[3f8be484]74 <title>The meaning of the configure option:</title>
75
[e0e40d3]76 <varlistentry os="c1">
[3f8be484]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>
[bbf90e8]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>
[c33fed0]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>
[3f8be484]97 </variablelist>
98
[e0e40d3]99 <para os="d">Compile the package:</para>
[3f8be484]100
[e0e40d3]101<screen os="e"><userinput>make</userinput></screen>
[3f8be484]102
[056bbd8]103 <para os="h">To test the results, issue:
[adb2d7f]104 <userinput>make test</userinput>.</para>
[3f8be484]105
[e0e40d3]106 <para os="j">Install the package:</para>
[3f8be484]107
[e0e40d3]108<screen os="k"><userinput>make install</userinput></screen>
[3f8be484]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>
[e29fb58]120 <seg>a2p, c2ph, cpan, dprofpp, enc2xs, find2perl, h2ph, h2xs, instmodsh, libnetcfg,
[3f8be484]121 perl, perl&perl-version; (link to perl), perlbug, perlcc, perldoc,
122 perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text,
[e29fb58]123 pod2usage, podchecker, podselect, prove, psed (link to s2p), pstruct (link
[3f8be484]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
[e29fb58]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
[3f8be484]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
[045e44a]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
[3f8be484]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
[e29fb58]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
[3f8be484]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
[1e91bbd]246 swiss-army-knife language</para>
[3f8be484]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
[e29fb58]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
[3f8be484]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.