source: chapter06/perl.xml@ 1e472fb

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 8.1 8.1-rc1 8.1-rc2 8.2 8.2-rc1 8.3 8.3-rc1 8.3-rc2 8.4 8.4-rc1 9.0 9.0-rc1 9.1 9.1-rc1 cross-chap5 ml-11.0 multilib old-trunk trunk xry111/git-transition xry111/glibc-2.34 xry111/tester-nohack xry111/usr-move
Last change on this file since 1e472fb was 1e472fb, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Move realline to be before bc in Cahpater 6.
Update to linux-4.10.6.
Update to pkg-config-0.29.2.
Update to tzdata-2017b.
Add option -Dusethreads to perl in Chapter 6.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11212 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

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