source: chapter08/perl.xml@ 25519ef2

ml-11.0 multilib
Last change on this file since 25519ef2 was d7e0db5, checked in by Xℹ Ruoyao <xry111@…>, 3 years ago

Merge changes from trunk to multilib

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12034 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 18.4 KB
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
[b06ca36]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[673b0d8]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
[3f3931b0]7
[81fd230]8<sect1 id="ch-system-perl" role="wrap">
[3f3931b0]9 <?dbhtml filename="perl.html"?>
10
[e747759]11 <sect1info condition="script">
12 <productname>perl</productname>
13 <productnumber>&perl-version;</productnumber>
14 <address>&perl-url;</address>
15 </sect1info>
16
[3f3931b0]17 <title>Perl-&perl-version;</title>
18
19 <indexterm zone="ch-system-perl">
20 <primary sortas="a-Perl">Perl</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
[673b0d8]25
[3f3931b0]26 <para>The Perl package contains the Practical Extraction and Report
27 Language.</para>
[6370fa6]28
[3f3931b0]29 <segmentedlist>
30 <segtitle>&buildtime;</segtitle>
31 <segtitle>&diskspace;</segtitle>
[5888299]32
[3f3931b0]33 <seglistitem>
[6dfcfecc]34 <seg>&perl-fin-sbu;</seg>
35 <seg>&perl-fin-du;</seg>
[3f3931b0]36 </seglistitem>
37 </segmentedlist>
[3554fa3a]38
[3f3931b0]39 </sect2>
40
41 <sect2 role="installation">
42 <title>Installation of Perl</title>
43
[7e7daa79]44 <para>This version of Perl now builds the Compress::Raw::Zlib and
[78bf0c1]45 Compress::Raw::BZip2 modules. By
46 default Perl will use an internal copy of the sources for the build.
47 Issue the following command so that Perl will use the libraries
[59af1dc]48 installed on the system:</para>
49
[78bf0c1]50<screen><userinput remap="pre">export BUILD_ZLIB=False
51export BUILD_BZIP2=0</userinput></screen>
[297d9f78]52
[894367e]53 <para>To have full control over the way Perl is set up, you can remove the
54 <quote>-des</quote> options from the following command and hand-pick the way
[b4a1c5e]55 this package is built. Alternatively, use the command exactly as below to
[894367e]56 use the defaults that Perl auto-detects:</para>
[73aedd1d]57
[ce2f9d8]58 <screen><userinput remap="configure">sh Configure -des \
59 -Dprefix=/usr \
60 -Dvendorprefix=/usr \
[d7e0db5]61 -Dprivlib=/usr/lib/perl5/&perl-version-min;/core_perl \
62 -Darchlib=/usr/lib/perl5/&perl-version-min;/core_perl \
63 -Dsitelib=/usr/lib/perl5/&perl-version-min;/site_perl \
64 -Dsitearch=/usr/lib/perl5/&perl-version-min;/site_perl \
65 -Dvendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \
66 -Dvendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl \
[ce2f9d8]67 -Dman1dir=/usr/share/man/man1 \
68 -Dman3dir=/usr/share/man/man3 \
69 -Dpager="/usr/bin/less -isR" \
70 -Duseshrplib \
71 -Dusethreads</userinput></screen>
[73aedd1d]72
[3f3931b0]73 <variablelist>
74 <title>The meaning of the configure options:</title>
[81fd230]75
[863beea]76 <varlistentry>
77 <term><parameter>-Dvendorprefix=/usr</parameter></term>
78 <listitem>
79 <para>This ensures <command>perl</command> knows how to
80 tell packages where they should install their perl modules.</para>
81 </listitem>
82 </varlistentry>
83
[3f3931b0]84 <varlistentry>
85 <term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
86 <listitem>
[a139c25]87 <para>This ensures that <userinput>less</userinput> is used instead
88 of <userinput>more</userinput>.</para>
[3f3931b0]89 </listitem>
90 </varlistentry>
[81fd230]91
[3685bb6]92 <varlistentry>
93 <term><parameter>-Dman1dir=/usr/share/man/man1
94 -Dman3dir=/usr/share/man/man3</parameter></term>
95 <listitem>
96 <para>Since Groff is not installed yet, <command>Configure</command>
97 thinks that we do not want man pages for Perl. Issuing these
98 parameters overrides this decision.</para>
99 </listitem>
100 </varlistentry>
101
[b0e583b]102 <varlistentry>
103 <term><parameter>-Duseshrplib</parameter></term>
104 <listitem>
105 <para>Build a shared libperl needed by some perl modules.</para>
106 </listitem>
107 </varlistentry>
108
[1e472fb]109 <varlistentry>
110 <term><parameter>-Dusethreads</parameter></term>
111 <listitem>
112 <para>Build perl with support for threads.</para>
113 </listitem>
114 </varlistentry>
115
[ce2f9d8]116 <varlistentry>
117 <term><parameter>-Dprivlib,-Darchlib,-Dsitelib,...</parameter></term>
118 <listitem>
119 <para>These settings define where Perl is looking for installed
120 modules. The LFS editors chose to put them in a directory structure
121 based on the Major.Minor version of Perl (&perl-version-min;) which
122 allows upgrading Perl to newer Patch levels (&perl-version;) without
123 the need to reinstall all of the modules again.</para>
124 </listitem>
125 </varlistentry>
126
[3f3931b0]127 </variablelist>
128
129 <para>Compile the package:</para>
[73aedd1d]130
[0445a3d]131<screen><userinput remap="make">make</userinput></screen>
[73aedd1d]132
[ff321d9]133 <para>To test the results (approximately 11 SBU), issue:</para>
[0445a3d]134
[725ef3b]135<screen><userinput remap="test">make test</userinput></screen>
[73aedd1d]136
[725ef3b]137 <!--note><para>One test fails due to using the most recent version of gdbm.
138 </para></note-->
[9a605b8]139
[78bf0c1]140 <para>Install the package and clean up:</para>
[73aedd1d]141
[78bf0c1]142<screen><userinput remap="install">make install
143unset BUILD_ZLIB BUILD_BZIP2</userinput></screen>
[73aedd1d]144
[3f3931b0]145 </sect2>
146
147 <sect2 id="contents-perl" role="content">
148 <title>Contents of Perl</title>
149
150 <segmentedlist>
151 <segtitle>Installed programs</segtitle>
152 <segtitle>Installed libraries</segtitle>
[fe05b08]153 <segtitle>Installed directory</segtitle>
[3f3931b0]154
155 <seglistitem>
[8146d97]156 <seg>corelist, cpan, enc2xs, encguess, h2ph, h2xs, instmodsh,
[040ecb6]157 json_pp, libnetcfg, perl, perl&perl-version; (hard link to perl),
158 perlbug, perldoc, perlivp, perlthanks (hard link to perlbug), piconv,
159 pl2pm, pod2html, pod2man, pod2text, pod2usage, podchecker, podselect,
[8146d97]160 prove, ptar, ptardiff, ptargrep, shasum,
[040ecb6]161 splain, xsubpp, and zipdetails</seg>
162 <seg>Many which cannot all be listed here</seg>
[fe05b08]163 <seg>/usr/lib/perl5</seg>
[3f3931b0]164 </seglistitem>
165 </segmentedlist>
166
167 <variablelist>
168 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
169 <?dbfo list-presentation="list"?>
170 <?dbhtml list-presentation="table"?>
[8146d97]171<!--
[3f3931b0]172 <varlistentry id="c2ph">
173 <term><command>c2ph</command></term>
174 <listitem>
175 <para>Dumps C structures as generated from
176 <command>cc -g -S</command></para>
177 <indexterm zone="ch-system-perl c2ph">
178 <primary sortas="b-c2ph">c2ph</primary>
179 </indexterm>
180 </listitem>
181 </varlistentry>
[8146d97]182-->
[90aae6b]183 <varlistentry id="corelist">
184 <term><command>corelist</command></term>
185 <listitem>
186 <para>A commandline frontend to Module::CoreList</para>
187 <indexterm zone="ch-system-perl corelist">
188 <primary sortas="b-corelist">corelist</primary>
189 </indexterm>
190 </listitem>
191 </varlistentry>
192
[3ee0c39]193 <varlistentry id="cpan">
194 <term><command>cpan</command></term>
195 <listitem>
196 <para>Interact with the Comprehensive Perl Archive Network (CPAN)
197 from the command line</para>
198 <indexterm zone="ch-system-perl cpan">
199 <primary sortas="b-cpan">cpan</primary>
200 </indexterm>
201 </listitem>
202 </varlistentry>
203
[8bc46a5]204 <varlistentry id="enc2xs">
205 <term><command>enc2xs</command></term>
[3f3931b0]206 <listitem>
207 <para>Builds a Perl extension for the Encode module from either
208 Unicode Character Mappings or Tcl Encoding Files</para>
[8bc46a5]209 <indexterm zone="ch-system-perl enc2xs">
210 <primary sortas="b-enc2xs">enc2xs</primary>
[3f3931b0]211 </indexterm>
212 </listitem>
213 </varlistentry>
214
[040ecb6]215 <varlistentry id="encguess">
216 <term><command>encguess</command></term>
217 <listitem>
218 <para>Guess the encoding type of one or several files</para>
219 <indexterm zone="ch-system-perl encguess">
220 <primary sortas="b-encguess">encguess</primary>
221 </indexterm>
222 </listitem>
223 </varlistentry>
224
[3f3931b0]225 <varlistentry id="h2ph">
226 <term><command>h2ph</command></term>
227 <listitem>
228 <para>Converts <filename class="extension">.h</filename> C header
229 files to <filename class="extension">.ph</filename> Perl header
230 files</para>
231 <indexterm zone="ch-system-perl h2ph">
232 <primary sortas="b-h2ph">h2ph</primary>
233 </indexterm>
234 </listitem>
235 </varlistentry>
236
237 <varlistentry id="h2xs">
238 <term><command>h2xs</command></term>
239 <listitem>
240 <para>Converts <filename class="extension">.h</filename> C header
241 files to Perl extensions</para>
242 <indexterm zone="ch-system-perl h2xs">
243 <primary sortas="b-h2xs">h2xs</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
[8bc46a5]248 <varlistentry id="instmodsh">
249 <term><command>instmodsh</command></term>
250 <listitem>
251 <para>Shell script for examining installed Perl modules,
[0d84af1]252 and can create a tarball from an installed module</para>
[8bc46a5]253 <indexterm zone="ch-system-perl instmodsh">
254 <primary sortas="b-instmodsh">instmodsh</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
[3119ddc]259 <varlistentry id="json_pp">
260 <term><command>json_pp</command></term>
261 <listitem>
262 <para>Converts data between certain input and output formats</para>
263 <indexterm zone="ch-system-perl json_pp">
264 <primary sortas="b-json_pp">json_pp</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
[3f3931b0]269 <varlistentry id="libnetcfg">
270 <term><command>libnetcfg</command></term>
271 <listitem>
272 <para>Can be used to configure the
[1db98e19]273 <filename class="libraryfile">libnet</filename> Perl module</para>
[3f3931b0]274 <indexterm zone="ch-system-perl libnetcfg">
275 <primary sortas="b-libnetcfg">libnetcfg</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
280 <varlistentry id="perl">
281 <term><command>perl</command></term>
282 <listitem>
283 <para>Combines some of the best features of C, <command>sed</command>,
284 <command>awk</command> and <command>sh</command> into a single
285 swiss-army language</para>
286 <indexterm zone="ch-system-perl perl">
287 <primary sortas="b-perl">perl</primary>
288 </indexterm>
289 </listitem>
290 </varlistentry>
291
292 <varlistentry id="perl-version">
293 <term><command>perl&perl-version;</command></term>
294 <listitem>
295 <para>A hard link to <command>perl</command></para>
296 <indexterm zone="ch-system-perl perl-version">
297 <primary sortas="b-perl&perl-version;">perl&perl-version;</primary>
298 </indexterm>
299 </listitem>
300 </varlistentry>
301
302 <varlistentry id="perlbug">
303 <term><command>perlbug</command></term>
304 <listitem>
305 <para>Used to generate bug reports about Perl, or the modules that come
306 with it, and mail them</para>
307 <indexterm zone="ch-system-perl perlbug">
308 <primary sortas="b-perlbug">perlbug</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="perldoc">
314 <term><command>perldoc</command></term>
315 <listitem>
316 <para>Displays a piece of documentation in pod format that is embedded
317 in the Perl installation tree or in a Perl script</para>
318 <indexterm zone="ch-system-perl perldoc">
319 <primary sortas="b-perldoc">perldoc</primary>
320 </indexterm>
321 </listitem>
322 </varlistentry>
323
324 <varlistentry id="perlivp">
325 <term><command>perlivp</command></term>
326 <listitem>
327 <para>The Perl Installation Verification Procedure; it can be used to
328 verify that Perl and its libraries have been installed
329 correctly</para>
330 <indexterm zone="ch-system-perl perlivp">
331 <primary sortas="b-perlivp">perlivp</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
[9d42ad9]336 <varlistentry id="perlthanks">
337 <term><command>perlthanks</command></term>
338 <listitem>
339 <para>Used to generate thank you messages to mail to the Perl
340 developers</para>
341 <indexterm zone="ch-system-perl perlthanks">
342 <primary sortas="b-perlthanks">perlthanks</primary>
343 </indexterm>
344 </listitem>
345 </varlistentry>
346
[3f3931b0]347 <varlistentry id="piconv">
348 <term><command>piconv</command></term>
349 <listitem>
350 <para>A Perl version of the character encoding converter
351 <command>iconv</command></para>
352 <indexterm zone="ch-system-perl piconv">
353 <primary sortas="b-piconv">piconv</primary>
354 </indexterm>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry id="pl2pm">
359 <term><command>pl2pm</command></term>
360 <listitem>
361 <para>A rough tool for converting Perl4
362 <filename class="extension">.pl</filename> files to Perl5
363 <filename class="extension">.pm</filename> modules</para>
364 <indexterm zone="ch-system-perl pl2pm">
365 <primary sortas="b-pl2pm">pl2pm</primary>
366 </indexterm>
367 </listitem>
368 </varlistentry>
369
370 <varlistentry id="pod2html">
371 <term><command>pod2html</command></term>
372 <listitem>
373 <para>Converts files from pod format to HTML format</para>
374 <indexterm zone="ch-system-perl pod2html">
375 <primary sortas="b-pod2html">pod2html</primary>
376 </indexterm>
377 </listitem>
378 </varlistentry>
379
380 <varlistentry id="pod2man">
381 <term><command>pod2man</command></term>
382 <listitem>
383 <para>Converts pod data to formatted *roff input</para>
384 <indexterm zone="ch-system-perl pod2man">
385 <primary sortas="b-pod2man">pod2man</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="pod2text">
391 <term><command>pod2text</command></term>
392 <listitem>
393 <para>Converts pod data to formatted ASCII text</para>
394 <indexterm zone="ch-system-perl pod2text">
395 <primary sortas="b-pod2text">pod2text</primary>
396 </indexterm>
397 </listitem>
398 </varlistentry>
399
400 <varlistentry id="pod2usage">
401 <term><command>pod2usage</command></term>
402 <listitem>
403 <para>Prints usage messages from embedded pod docs in files</para>
404 <indexterm zone="ch-system-perl pod2usage">
405 <primary sortas="b-pod2usage">pod2usage</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="podchecker">
411 <term><command>podchecker</command></term>
412 <listitem>
413 <para>Checks the syntax of pod format documentation files</para>
414 <indexterm zone="ch-system-perl podchecker">
415 <primary sortas="b-podchecker">podchecker</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="podselect">
421 <term><command>podselect</command></term>
422 <listitem>
423 <para>Displays selected sections of pod documentation</para>
424 <indexterm zone="ch-system-perl podselect">
425 <primary sortas="b-podselect">podselect</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
[3ee0c39]430 <varlistentry id="prove">
431 <term><command>prove</command></term>
432 <listitem>
433 <para>Command line tool for running tests against the Test::Harness
[afba93b]434 module</para>
[3ee0c39]435 <indexterm zone="ch-system-perl prove">
436 <primary sortas="b-prove">prove</primary>
437 </indexterm>
438 </listitem>
439 </varlistentry>
[8146d97]440<!--
[3f3931b0]441 <varlistentry id="pstruct">
442 <term><command>pstruct</command></term>
443 <listitem>
444 <para>Dumps C structures as generated from <command>cc -g -S</command>
445 stabs</para>
446 <indexterm zone="ch-system-perl pstruct">
447 <primary sortas="b-pstruct">pstruct</primary>
448 </indexterm>
449 </listitem>
450 </varlistentry>
[8146d97]451-->
[90aae6b]452 <varlistentry id="ptar">
453 <term><command>ptar</command></term>
454 <listitem>
455 <para>A <command>tar</command>-like program written in Perl</para>
456 <indexterm zone="ch-system-perl ptar">
457 <primary sortas="b-ptar">ptar</primary>
458 </indexterm>
459 </listitem>
460 </varlistentry>
461
462 <varlistentry id="ptardiff">
463 <term><command>ptardiff</command></term>
464 <listitem>
465 <para>A Perl program that compares an extracted archive with an
466 unextracted one</para>
467 <indexterm zone="ch-system-perl ptardiff">
468 <primary sortas="b-ptardiff">ptardiff</primary>
469 </indexterm>
470 </listitem>
471 </varlistentry>
472
[3119ddc]473 <varlistentry id="ptargrep">
474 <term><command>ptargrep</command></term>
475 <listitem>
476 <para>A Perl program that applies pattern matching to the contents
477 of files in a tar archive</para>
478 <indexterm zone="ch-system-perl ptargrep">
479 <primary sortas="b-ptargrep">ptargrep</primary>
480 </indexterm>
481 </listitem>
482 </varlistentry>
483
[90aae6b]484 <varlistentry id="shasum">
485 <term><command>shasum</command></term>
486 <listitem>
487 <para>Prints or checks SHA checksums</para>
488 <indexterm zone="ch-system-perl shasum">
489 <primary sortas="b-shasum">shasum</primary>
490 </indexterm>
491 </listitem>
492 </varlistentry>
493
[3f3931b0]494 <varlistentry id="splain">
495 <term><command>splain</command></term>
496 <listitem>
497 <para>Is used to force verbose warning diagnostics in Perl</para>
498 <indexterm zone="ch-system-perl splain">
499 <primary sortas="b-splain">splain</primary>
500 </indexterm>
501 </listitem>
502 </varlistentry>
503
504 <varlistentry id="xsubpp">
505 <term><command>xsubpp</command></term>
506 <listitem>
507 <para>Converts Perl XS code into C code</para>
508 <indexterm zone="ch-system-perl xsubpp">
509 <primary sortas="b-xsubpp">xsubpp</primary>
510 </indexterm>
511 </listitem>
512 </varlistentry>
513
[ca101ad]514 <varlistentry id="zipdetails">
515 <term><command>zipdetails</command></term>
516 <listitem>
517 <para>Displays details about the internal structure of a Zip file</para>
518 <indexterm zone="ch-system-perl zipdetails">
519 <primary sortas="b-zipdetails">zipdetails</primary>
520 </indexterm>
521 </listitem>
522 </varlistentry>
523
[3f3931b0]524 </variablelist>
525
526 </sect2>
[673b0d8]527
528</sect1>
Note: See TracBrowser for help on using the repository browser.