source: BOOK/final-system/common/perl.xml@ 7e3b152

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 7e3b152 was ccd51bc, checked in by Chris Staub <chris@…>, 16 years ago

Add sed command to make perl use system-installed zlib

  • Property mode set to 100644
File size: 19.0 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="s1">The following sed causes <filename>DynaLoader.a</filename>
29 to be built with -fPIC so it can be linked into a shared library
30 later:</para>
31
32<screen os="s2"><userinput>sed -i -e "s@pldlflags=''@pldlflags=\"\$cccdlflags\"@g" \
33 -e "s@static_target='static'@static_target='static_pic'@g" Makefile.SH</userinput></screen>
34
35 <para os="s3">By default, Perl's Compress::Raw::Zlib module builds and
36 links against its own internal copy of Zlib. The following command will
37 tell it use the system-installed Zlib:</para>
38
39<screen os="s4"><userinput>sed -i -e '/^BUILD_ZLIB/ s/True/False/' \
40 -e '/^INCLUDE\|^LIB/ s|\./zlib-src|/usr/include|' \
41 ext/Compress/Raw/Zlib/config.in</userinput></screen>
42
43 <note os="a00">
44 <para>If you are following the boot method you will need to enable the
45 loopback device as well as set a hostname for some of the tests:</para>
46
47 <screen><userinput>ip link set lo up
48hostname clfs</userinput></screen>
49 </note>
50
51 <para os="a01">Before starting to configure, create a basic
52 <filename>/etc/hosts</filename> file which will be referenced by one
53 of Perl's configuration files as well as used by the testsuite:</para>
54
55<screen os="a02"><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
56
57 <para os="a">To have full control over the way Perl is set up, you can
58 run the interactive <command>Configure</command> script and hand-pick
59 the way this package is built. If you prefer instead to use the defaults
60 that Perl auto-detects, prepare Perl for compilation with:</para>
61
62<screen os="b"><userinput>./configure.gnu --prefix=/usr \
63 -Dvendorprefix=/usr \
64 -Dman1dir=/usr/share/man/man1 \
65 -Dman3dir=/usr/share/man/man3 \
66 -Dpager="/bin/less -isR" \
67 -Dusethreads -Duseshrplib</userinput></screen>
68
69 <variablelist os="c">
70 <title>The meaning of the configure option:</title>
71
72 <varlistentry os="c1">
73 <term><parameter>-Dpager="/bin/less -isR"</parameter></term>
74 <listitem>
75 <para>This corrects an error in the way that <command>perldoc</command>
76 invokes the <command>less</command> program.</para>
77 </listitem>
78 </varlistentry>
79
80 <varlistentry os="c2">
81 <term><parameter>-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3</parameter></term>
82 <listitem>
83 <para>Since Groff is not installed yet,
84 <command>configure.gnu</command> thinks that we do not want
85 man pages for Perl. Issuing these parameters overrides this decision.</para>
86 </listitem>
87 </varlistentry>
88
89 <varlistentry os="c3">
90 <term><parameter>-Dusethreads</parameter></term>
91 <listitem>
92 <para>This tells Perl to use threads.</para>
93 </listitem>
94 </varlistentry>
95
96 <varlistentry os="c4">
97 <term><parameter>-Duseshrplib</parameter></term>
98 <listitem>
99 <para>This tells Perl to build a shared libperl.</para>
100 </listitem>
101 </varlistentry>
102
103 </variablelist>
104
105 <para os="d">Compile the package:</para>
106
107<screen os="e"><userinput>make</userinput></screen>
108
109 <para os="h">To test the results, issue:
110 <userinput>make test</userinput>.</para>
111
112 <para os="j">Install the package:</para>
113
114<screen os="k"><userinput>make install</userinput></screen>
115
116 </sect2>
117
118 <sect2 id="contents-perl" role="content">
119 <title>Contents of Perl</title>
120
121 <segmentedlist>
122 <segtitle>Installed programs</segtitle>
123 <segtitle>Installed libraries</segtitle>
124
125 <seglistitem>
126 <seg>a2p, c2ph, config_data, corelist, cpan, cpan2dist, cpanp,
127 cpanp-run-perl, dprofpp, enc2xs, find2perl, h2ph, h2xs, instmodsh,
128 libnetcfg, perl, perl&perl-version; (link to perl), perlbug, perlcc,
129 perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text,
130 pod2usage, podchecker, podselect, prove, psed (link to s2p),
131 pstruct (link to c2ph), ptar, ptardiff, s2p, shasum, splain, and
132 xsubpp</seg>
133 <seg>Several hundred which cannot all be listed here</seg>
134 </seglistitem>
135 </segmentedlist>
136
137 <variablelist>
138 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
139 <?dbfo list-presentation="list"?>
140 <?dbhtml list-presentation="table"?>
141
142 <varlistentry id="a2p">
143 <term><command>a2p</command></term>
144 <listitem>
145 <para>Translates awk to Perl</para>
146 <indexterm zone="ch-system-perl a2p">
147 <primary sortas="b-a2p">a2p</primary>
148 </indexterm>
149 </listitem>
150 </varlistentry>
151
152 <varlistentry id="c2ph">
153 <term><command>c2ph</command></term>
154 <listitem>
155 <para>Dumps C structures as generated from
156 <command>cc -g -S</command></para>
157 <indexterm zone="ch-system-perl c2ph">
158 <primary sortas="b-c2ph">c2ph</primary>
159 </indexterm>
160 </listitem>
161 </varlistentry>
162
163 <varlistentry id="config_data">
164 <term><command>config_data</command></term>
165 <listitem>
166 <para>Queries or changes configuration of Perl modules</para>
167 <indexterm zone="ch-system-perl config_data">
168 <primary sortas="b-config_data">config_data</primary>
169 </indexterm>
170 </listitem>
171 </varlistentry>
172
173 <varlistentry id="corelist">
174 <term><command>corelist</command></term>
175 <listitem>
176 <para>A commandline frontend to Module::CoreList</para>
177 <indexterm zone="ch-system-perl corelist">
178 <primary sortas="b-corelist">corelist</primary>
179 </indexterm>
180 </listitem>
181 </varlistentry>
182
183 <varlistentry id="cpan">
184 <term><command>cpan</command></term>
185 <listitem>
186 <para>Shell script that provides a command interface to CPAN.pm</para>
187 <indexterm zone="ch-system-perl cpan">
188 <primary sortas="b-cpan">cpan</primary>
189 </indexterm>
190 </listitem>
191 </varlistentry>
192
193 <varlistentry id="cpan2dist">
194 <term><command>cpan2dist</command></term>
195 <listitem>
196 <para>The CPANPLUS distribution creator</para>
197 <indexterm zone="ch-system-perl cpan2dist">
198 <primary sortas="b-cpan2dist">cpan2dist</primary>
199 </indexterm>
200 </listitem>
201 </varlistentry>
202
203 <varlistentry id="cpanp">
204 <term><command>cpanp</command></term>
205 <listitem>
206 <para>The CPANPLUS launcher</para>
207 <indexterm zone="ch-system-perl cpanp">
208 <primary sortas="b-cpanp">cpanp</primary>
209 </indexterm>
210 </listitem>
211 </varlistentry>
212
213 <varlistentry id="cpanp-run-perl">
214 <term><command>cpanp-run-perl</command></term>
215 <listitem>
216 <para>Perl script that (description needed)</para>
217 <indexterm zone="ch-system-perl cpanp-run-perl">
218 <primary sortas="b-cpanp-run-perl">cpanp-run-perl</primary>
219 </indexterm>
220 </listitem>
221 </varlistentry>
222
223 <varlistentry id="dprofpp">
224 <term><command>dprofpp</command></term>
225 <listitem>
226 <para>Displays Perl profile data</para>
227 <indexterm zone="ch-system-perl dprofpp">
228 <primary sortas="b-dprofpp">dprofpp</primary>
229 </indexterm>
230 </listitem>
231 </varlistentry>
232
233 <varlistentry id="enc2xs">
234 <term><command>enc2xs</command></term>
235 <listitem>
236 <para>Builds a Perl extension for the Encode module from either
237 Unicode Character Mappings or Tcl Encoding Files</para>
238 <indexterm zone="ch-system-perl enc2xs">
239 <primary sortas="b-enc2xs">enc2xs</primary>
240 </indexterm>
241 </listitem>
242 </varlistentry>
243
244 <varlistentry id="find2perl">
245 <term><command>find2perl</command></term>
246 <listitem>
247 <para>Translates <command>find</command> commands to Perl</para>
248 <indexterm zone="ch-system-perl find2perl">
249 <primary sortas="b-find2perl">find2perl</primary>
250 </indexterm>
251 </listitem>
252 </varlistentry>
253
254 <varlistentry id="h2ph">
255 <term><command>h2ph</command></term>
256 <listitem>
257 <para>Converts <filename class="extension">.h</filename> C header
258 files to <filename class="extension">.ph</filename> Perl header
259 files</para>
260 <indexterm zone="ch-system-perl h2ph">
261 <primary sortas="b-h2ph">h2ph</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
265
266 <varlistentry id="h2xs">
267 <term><command>h2xs</command></term>
268 <listitem>
269 <para>Converts <filename class="extension">.h</filename> C header
270 files to Perl extensions</para>
271 <indexterm zone="ch-system-perl h2xs">
272 <primary sortas="b-h2xs">h2xs</primary>
273 </indexterm>
274 </listitem>
275 </varlistentry>
276
277 <varlistentry id="instmodsh">
278 <term><command>instmodsh</command></term>
279 <listitem>
280 <para>A shell script for examining installed Perl modules,
281 and can even create a tarball from an installed module</para>
282 <indexterm zone="ch-system-perl instmodsh">
283 <primary sortas="b-instmodsh">instmodsh</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="libnetcfg">
289 <term><command>libnetcfg</command></term>
290 <listitem>
291 <para>Can be used to configure the
292 <filename class="libraryfile">libnet</filename></para>
293 <indexterm zone="ch-system-perl libnetcfg">
294 <primary sortas="b-libnetcfg">libnetcfg</primary>
295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 <varlistentry id="perl">
300 <term><command>perl</command></term>
301 <listitem>
302 <para>Combines some of the best features of C, <command>sed</command>,
303 <command>awk</command> and <command>sh</command> into a single
304 swiss-army-knife language</para>
305 <indexterm zone="ch-system-perl perl">
306 <primary sortas="b-perl">perl</primary>
307 </indexterm>
308 </listitem>
309 </varlistentry>
310
311 <varlistentry id="perl-version">
312 <term><command>perl&perl-version;</command></term>
313 <listitem>
314 <para>A hard link to <command>perl</command></para>
315 <indexterm zone="ch-system-perl perl-version">
316 <primary sortas="b-perl&perl-version;">perl&perl-version;</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry id="perlbug">
322 <term><command>perlbug</command></term>
323 <listitem>
324 <para>Used to generate bug reports about Perl, or the modules that come
325 with it, and mail them</para>
326 <indexterm zone="ch-system-perl perlbug">
327 <primary sortas="b-perlbug">perlbug</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="perlcc">
333 <term><command>perlcc</command></term>
334 <listitem>
335 <para>Generates executables from Perl programs</para>
336 <indexterm zone="ch-system-perl perlcc">
337 <primary sortas="b-perlcc">perlcc</primary>
338 </indexterm>
339 </listitem>
340 </varlistentry>
341
342 <varlistentry id="perldoc">
343 <term><command>perldoc</command></term>
344 <listitem>
345 <para>Displays a piece of documentation in pod format that is embedded
346 in the Perl installation tree or in a Perl script</para>
347 <indexterm zone="ch-system-perl perldoc">
348 <primary sortas="b-perldoc">perldoc</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="perlivp">
354 <term><command>perlivp</command></term>
355 <listitem>
356 <para>The Perl Installation Verification Procedure; it can be used to
357 verify that Perl and its libraries have been installed
358 correctly</para>
359 <indexterm zone="ch-system-perl perlivp">
360 <primary sortas="b-perlivp">perlivp</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="piconv">
366 <term><command>piconv</command></term>
367 <listitem>
368 <para>A Perl version of the character encoding converter
369 <command>iconv</command></para>
370 <indexterm zone="ch-system-perl piconv">
371 <primary sortas="b-piconv">piconv</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376 <varlistentry id="pl2pm">
377 <term><command>pl2pm</command></term>
378 <listitem>
379 <para>A rough tool for converting Perl4
380 <filename class="extension">.pl</filename> files to Perl5
381 <filename class="extension">.pm</filename> modules</para>
382 <indexterm zone="ch-system-perl pl2pm">
383 <primary sortas="b-pl2pm">pl2pm</primary>
384 </indexterm>
385 </listitem>
386 </varlistentry>
387
388 <varlistentry id="pod2html">
389 <term><command>pod2html</command></term>
390 <listitem>
391 <para>Converts files from pod format to HTML format</para>
392 <indexterm zone="ch-system-perl pod2html">
393 <primary sortas="b-pod2html">pod2html</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
398 <varlistentry id="pod2latex">
399 <term><command>pod2latex</command></term>
400 <listitem>
401 <para>Converts files from pod format to LaTeX format</para>
402 <indexterm zone="ch-system-perl pod2latex">
403 <primary sortas="b-pod2latex">pod2latex</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
408 <varlistentry id="pod2man">
409 <term><command>pod2man</command></term>
410 <listitem>
411 <para>Converts pod data to formatted *roff input</para>
412 <indexterm zone="ch-system-perl pod2man">
413 <primary sortas="b-pod2man">pod2man</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="pod2text">
419 <term><command>pod2text</command></term>
420 <listitem>
421 <para>Converts pod data to formatted ASCII text</para>
422 <indexterm zone="ch-system-perl pod2text">
423 <primary sortas="b-pod2text">pod2text</primary>
424 </indexterm>
425 </listitem>
426 </varlistentry>
427
428 <varlistentry id="pod2usage">
429 <term><command>pod2usage</command></term>
430 <listitem>
431 <para>Prints usage messages from embedded pod docs in files</para>
432 <indexterm zone="ch-system-perl pod2usage">
433 <primary sortas="b-pod2usage">pod2usage</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="podchecker">
439 <term><command>podchecker</command></term>
440 <listitem>
441 <para>Checks the syntax of pod format documentation files</para>
442 <indexterm zone="ch-system-perl podchecker">
443 <primary sortas="b-podchecker">podchecker</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry id="podselect">
449 <term><command>podselect</command></term>
450 <listitem>
451 <para>Displays selected sections of pod documentation</para>
452 <indexterm zone="ch-system-perl podselect">
453 <primary sortas="b-podselect">podselect</primary>
454 </indexterm>
455 </listitem>
456 </varlistentry>
457
458 <varlistentry id="prove">
459 <term><command>prove</command></term>
460 <listitem>
461 <para>A command-line tool for running tests against Test::Harness</para>
462 <indexterm zone="ch-system-perl prove">
463 <primary sortas="b-prove">prove</primary>
464 </indexterm>
465 </listitem>
466 </varlistentry>
467
468 <varlistentry id="psed">
469 <term><command>psed</command></term>
470 <listitem>
471 <para>A Perl version of the stream editor <command>sed</command></para>
472 <indexterm zone="ch-system-perl psed">
473 <primary sortas="b-psed">psed</primary>
474 </indexterm>
475 </listitem>
476 </varlistentry>
477
478 <varlistentry id="pstruct">
479 <term><command>pstruct</command></term>
480 <listitem>
481 <para>Dumps C structures as generated from <command>cc -g -S</command>
482 stabs</para>
483 <indexterm zone="ch-system-perl pstruct">
484 <primary sortas="b-pstruct">pstruct</primary>
485 </indexterm>
486 </listitem>
487 </varlistentry>
488
489 <varlistentry id="ptar">
490 <term><command>ptar</command></term>
491 <listitem>
492 <para>A <command>tar</command>-like program written in Perl</para>
493 <indexterm zone="ch-system-perl ptar">
494 <primary sortas="b-ptar">ptar</primary>
495 </indexterm>
496 </listitem>
497 </varlistentry>
498
499 <varlistentry id="ptardiff">
500 <term><command>ptardiff</command></term>
501 <listitem>
502 <para>A Perl program that compares an extracted archive with an
503 unextracted one</para>
504 <indexterm zone="ch-system-perl ptardiff">
505 <primary sortas="b-ptardiff">ptardiff</primary>
506 </indexterm>
507 </listitem>
508 </varlistentry>
509
510 <varlistentry id="s2p">
511 <term><command>s2p</command></term>
512 <listitem>
513 <para>Translates <command>sed</command> to Perl</para>
514 <indexterm zone="ch-system-perl s2p">
515 <primary sortas="b-s2p">s2p</primary>
516 </indexterm>
517 </listitem>
518 </varlistentry>
519
520 <varlistentry id="shasum">
521 <term><command>shasum</command></term>
522 <listitem>
523 <para>Prints or checks SHA checksums</para>
524 <indexterm zone="ch-system-perl shasum">
525 <primary sortas="b-shasum">shasum</primary>
526 </indexterm>
527 </listitem>
528 </varlistentry>
529
530 <varlistentry id="splain">
531 <term><command>splain</command></term>
532 <listitem>
533 <para>Is used to force verbose warning diagnostics in Perl</para>
534 <indexterm zone="ch-system-perl splain">
535 <primary sortas="b-splain">splain</primary>
536 </indexterm>
537 </listitem>
538 </varlistentry>
539
540 <varlistentry id="xsubpp">
541 <term><command>xsubpp</command></term>
542 <listitem>
543 <para>Converts Perl XS code into C code</para>
544 <indexterm zone="ch-system-perl xsubpp">
545 <primary sortas="b-xsubpp">xsubpp</primary>
546 </indexterm>
547 </listitem>
548 </varlistentry>
549
550 </variablelist>
551
552 </sect2>
553
554</sect1>
Note: See TracBrowser for help on using the repository browser.