source: BOOK/final-system/multilib/perl-64bit.xml @ 3f8be484

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 3f8be484 was 3f8be484, checked in by Jim Gifford <clfs@…>, 18 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.