source: BOOK/final-system/multilib/perl-64bit.xml @ 7b31c44

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 7b31c44 was 7b31c44, checked in by Joe Ciccone <jciccone@…>, 16 years ago

Updated Coreutils to 6.12.
Drop Mktemp in favor of the version included in Coreutils.
Updated Perl to 5.10.0.
Updated File to 4.25.
Updated File to 4.26.
Updated GCC to 4.3.2.

  • Property mode set to 100644
File size: 4.5 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-64bit.html"?>
10
11  <title>Perl-&perl-version; 64 Bit</title>
12
13  <indexterm zone="ch-system-perl">
14    <primary sortas="a-Perl">Perl</primary>
15  </indexterm>
16
17  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
18  href="../common/perl.xml"
19  xpointer="xpointer(//*[@role='package'])"/>
20
21  <sect2 role="installation">
22    <title>Installation of Perl</title>
23
24    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
25    href="../common/perl.xml"
26    xpointer="xpointer(//*[@os='s1'])"/>
27
28    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
29    href="../common/perl.xml"
30    xpointer="xpointer(//*[@os='s2'])"/>
31
32    <para os="mp1">Perl does not, by default, know about library directories with names other
33    than lib, The following patch will allow it to install to other directories:</para>
34
35<screen os="mp2"><userinput>patch -Np1 -i ../&perl-multilib-patch;</userinput></screen>
36
37    <para os="s1">There is a further (possibly cosmetic) anomaly - if we install perl and
38    then run <command>perl -V</command> it will claim that libc is in /lib.  The
39    following sed fixes this, but only takes effect when <command>make install
40    </command> is run:</para>
41
42<screen os="s2"><userinput>sed -i "/libc/s@/lib@/lib64@" hints/linux.sh</userinput></screen>
43
44    <para os="m2">We still need to tell perl to actually use lib64:</para>
45
46<screen os="m3"><userinput>echo 'installstyle="lib64/perl5"' >>hints/linux.sh</userinput></screen>
47
48    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
49    href="../common/perl.xml"
50    xpointer="xpointer(//*[@os='a'])"/>
51
52<screen os="b"><userinput>./configure.gnu --prefix=/usr \
53   -Dman1dir=/usr/share/man/man1 \
54   -Dman3dir=/usr/share/man/man3 \
55   -Dpager="/bin/less -isR" \
56   -Dlibpth="/usr/local/lib64 /lib64 /usr/lib64" \
57   -Dcc="gcc ${BUILD64}" \
58   -Dusethreads</userinput></screen>
59
60    <variablelist os="m4">
61      <title>The meaning of the new configure option:</title>
62
63      <varlistentry>
64        <term><parameter>-Dlibpth="/usr/local/lib64 /lib64 /usr/lib64"</parameter></term>
65        <listitem>
66          <para>This tells Perl to link against the 64-bit libraries.</para>
67        </listitem>
68      </varlistentry>
69
70    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
71    href="../common/perl.xml"
72    xpointer="xpointer(//*[@os='c1'])"/>
73
74    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
75    href="../common/perl.xml"
76    xpointer="xpointer(//*[@os='c2'])"/>
77
78    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
79    href="../common/perl.xml"
80    xpointer="xpointer(//*[@os='c3'])"/>
81
82    </variablelist>
83
84    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
85    href="../common/perl.xml"
86    xpointer="xpointer(//*[@os='d'])"/>
87
88    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
89    href="../common/perl.xml"
90    xpointer="xpointer(//*[@os='e'])"/>
91
92    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
93    href="../common/perl.xml"
94    xpointer="xpointer(//*[@os='h'])"/>
95
96    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
97    href="../common/perl.xml"
98    xpointer="xpointer(//*[@os='j'])"/>
99
100    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
101    href="../common/perl.xml"
102    xpointer="xpointer(//*[@os='k'])"/>
103
104    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
105    href="perl.xml"
106    xpointer="xpointer(//*[@os='l'])"/>
107
108<screen os="m"><userinput>mv /usr/bin/perl{,-64}
109mv /usr/bin/perl&perl-version;{,-64}</userinput></screen>
110
111    <para os="n">Now we need to create a link to the multiarch wrapper that
112    lets us choose which perl installation to use:</para>
113
114<screen os="o"><userinput>ln -sv multiarch_wrapper /usr/bin/perl
115ln -sv multiarch_wrapper /usr/bin/perl&perl-version;</userinput></screen>
116
117    <para os="p">The value of the <envar>USE_ARCH</envar> environment variable
118    will decide which perl binary to execute.
119    <command>USE_ARCH=32 perl -V:cc</command> will give the value of CC used to
120    build the 32bit perl. The multiarch_wrapper will help later with building
121    perl extensions and bindings. Without the multiarch_wrapper it is very hard
122    to setup a 32bit extension or binding.</para>
123
124  </sect2>
125
126  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
127  href="../common/perl.xml"
128  xpointer="xpointer(id('contents-perl'))"/>
129
130</sect1>
Note: See TracBrowser for help on using the repository browser.