source: chapter06/perl.xml@ 5d276d1

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 5d276d1 was 5d276d1, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Apply a change to allow Perl to build correctly when

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

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