source: BOOK/final-system/common/perl.xml@ 16ca115

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 16ca115 was 7f1773b, checked in by Joe Ciccone <jciccone@…>, 15 years ago

Fixed the location for the Zlib sed in the perl build. Thanks to Roy Bekken for seeing this and suggesting a fix.

I took this fix one step further and noticed that the sed was putting /usr/include in the libdir field. Updated it to use /usr/include only for headers and /usr/lib{,32,64} respectivly for libraries.

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