source: BOOK/final-system/multilib/perl-64bit.xml@ 9d32016

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 9d32016 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.