source: BOOK/final-system/multilib/perl-64bit.xml@ 95bf29f

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 95bf29f was 3f8be484, checked in by Jim Gifford <clfs@…>, 19 years ago

r627@server (orig r625): jim | 2005-10-31 12:59:34 -0800
Import of Cross-LFS Book

  • Property mode set to 100644
File size: 4.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 <!ENTITY % patches-entities SYSTEM "../../patches.ent">
6 %general-entities;
7 %patches-entities;
8]>
9
10<sect1 id="ch-system-perl" role="wrap">
11 <?dbhtml filename="perl-64bit.html"?>
12
13 <title>Perl-&perl-version;</title>
14
15 <indexterm zone="ch-system-perl">
16 <primary sortas="a-Perl">Perl</primary>
17 </indexterm>
18
19 <sect2 role="package">
20 <title/>
21
22 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
23 href="../common/perl.xml"
24 xpointer="xpointer(//*[@role='package']/para[1])"/>
25
26 <segmentedlist>
27 <segtitle>&buildtime;</segtitle>
28 <segtitle>&diskspace;</segtitle>
29
30 <seglistitem>
31 <seg>Not checked yet</seg>
32 <seg>Not checked yet</seg>
33 </seglistitem>
34 </segmentedlist>
35
36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
37 href="../common/perl.xml"
38 xpointer="xpointer(//*[@role='package']/segmentedlist[2])"/>
39
40 </sect2>
41
42 <sect2 role="installation">
43 <title>Installation of Perl</title>
44
45 <para>In multilib builds we install compilers and libraries for each available
46 architecture. The description below says that perl installs several hundred
47 libraries, but they are used by invoking <command>perl</command>, not by linking
48 to them with <command>ld</command>. Although it is possible to install perl for
49 32 bits, move it to a different name, and then install the 64-bit version, it is
50 almost always invoked as just <command>perl</command>. That means only the
51 libraries and modules for the last version installed will be accessible. We
52 therefore only install one version.</para>
53
54 <para>Perl does not, by default, know about library directories with names other
55 than lib, such as lib64. The following patch will allow it to install to lib64.</para>
56
57<screen><userinput>patch -Np1 -i ../&perl-multilib-patch;</userinput></screen>
58
59 <para>There is a further (possibly cosmetic) anomaly - if we install perl and
60 then run <command>perl -V</command> it will claim that libc is in /lib. The
61 following patch fixes this, but only takes effect when <command>make install
62 </command> is run.</para>
63
64<screen><userinput>patch -Np1 -i ../&perl-lib64-patch;</userinput></screen>
65
66 <para>We still need to tell perl to actually use lib64</para>
67
68<screen><userinput>echo 'installstyle="lib64/perl5"' >>hints/linux.sh</userinput></screen>
69
70 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
71 href="../common/perl.xml"
72 xpointer="xpointer(//*[@os='a'])"/>
73
74<screen><userinput>./configure.gnu --prefix=/usr -Dpager="/bin/less -isR" \
75 -Dlibpth="/usr/local/lib64 /lib64 /usr/lib64" \
76 -Dcc="gcc ${BUILD64}"</userinput></screen>
77
78 <variablelist>
79 <title>The meaning of the new configure option:</title>
80
81 <varlistentry>
82 <term><parameter>-Dlibpth="/usr/local/lib64 /lib64 /usr/lib64"</parameter></term>
83 <listitem>
84 <para>This tells Perl to link against the 64-bit libraries.</para>
85 </listitem>
86 </varlistentry>
87
88 </variablelist>
89
90 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
91 href="../common/perl.xml"
92 xpointer="xpointer(//*[@os='c'])"/>
93
94 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
95 href="../common/perl.xml"
96 xpointer="xpointer(//*[@os='d'])"/>
97
98 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
99 href="../common/perl.xml"
100 xpointer="xpointer(//*[@os='e'])"/>
101
102 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
103 href="../common/perl.xml"
104 xpointer="xpointer(//*[@os='f'])"/>
105
106 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
107 href="../common/perl.xml"
108 xpointer="xpointer(//*[@os='g'])"/>
109
110 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
111 href="../common/perl.xml"
112 xpointer="xpointer(//*[@os='h'])"/>
113
114 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
115 href="../common/perl.xml"
116 xpointer="xpointer(//*[@os='i'])"/>
117
118 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
119 href="../common/perl.xml"
120 xpointer="xpointer(//*[@os='j'])"/>
121
122 </sect2>
123
124 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
125 href="../common/perl.xml"
126 xpointer="xpointer(id('contents-perl'))"/>
127
128</sect1>
Note: See TracBrowser for help on using the repository browser.