source: BOOK/final-system/multilib/perl-64bit.xml@ 85c714f

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 85c714f 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
RevLine 
[3f8be484]1<?xml version="1.0" encoding="ISO-8859-1"?>
[aa18ac0]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[3f8be484]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
[9c1db810]11 <title>Perl-&perl-version; 64 Bit</title>
[3f8be484]12
13 <indexterm zone="ch-system-perl">
14 <primary sortas="a-Perl">Perl</primary>
15 </indexterm>
16
[566db8e]17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
18 href="../common/perl.xml"
19 xpointer="xpointer(//*[@role='package'])"/>
[3f8be484]20
21 <sect2 role="installation">
22 <title>Installation of Perl</title>
23
[6a7f467]24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
25 href="../common/perl.xml"
[96d0fe5]26 xpointer="xpointer(//*[@os='s1'])"/>
[6a7f467]27
28 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
29 href="../common/perl.xml"
[96d0fe5]30 xpointer="xpointer(//*[@os='s2'])"/>
[6a7f467]31
[d10818d]32 <para os="mp1">Perl does not, by default, know about library directories with names other
[9c1db810]33 than lib, The following patch will allow it to install to other directories:</para>
[3f8be484]34
[d10818d]35<screen os="mp2"><userinput>patch -Np1 -i ../&perl-multilib-patch;</userinput></screen>
[3f8be484]36
[9c1db810]37 <para os="s1">There is a further (possibly cosmetic) anomaly - if we install perl and
[3f8be484]38 then run <command>perl -V</command> it will claim that libc is in /lib. The
[9c1db810]39 following sed fixes this, but only takes effect when <command>make install
[403203d]40 </command> is run:</para>
[3f8be484]41
[9c1db810]42<screen os="s2"><userinput>sed -i "/libc/s@/lib@/lib64@" hints/linux.sh</userinput></screen>
[3f8be484]43
[403203d]44 <para os="m2">We still need to tell perl to actually use lib64:</para>
[3f8be484]45
[e0e40d3]46<screen os="m3"><userinput>echo 'installstyle="lib64/perl5"' >>hints/linux.sh</userinput></screen>
[3f8be484]47
48 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
49 href="../common/perl.xml"
50 xpointer="xpointer(//*[@os='a'])"/>
51
[bbf90e8]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" \
[3f8be484]56 -Dlibpth="/usr/local/lib64 /lib64 /usr/lib64" \
[c33fed0]57 -Dcc="gcc ${BUILD64}" \
58 -Dusethreads</userinput></screen>
[3f8be484]59
[e0e40d3]60 <variablelist os="m4">
[3f8be484]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"
[e0e40d3]72 xpointer="xpointer(//*[@os='c1'])"/>
73
[bbf90e8]74 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
75 href="../common/perl.xml"
76 xpointer="xpointer(//*[@os='c2'])"/>
77
[c33fed0]78 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
79 href="../common/perl.xml"
80 xpointer="xpointer(//*[@os='c3'])"/>
81
[e0e40d3]82 </variablelist>
[3f8be484]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
[b4f5af8]100 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
101 href="../common/perl.xml"
102 xpointer="xpointer(//*[@os='k'])"/>
103
[9c1db810]104 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
105 href="perl.xml"
106 xpointer="xpointer(//*[@os='l'])"/>
107
[8f0f884]108<screen os="m"><userinput>mv /usr/bin/perl{,-64}
109mv /usr/bin/perl&perl-version;{,-64}</userinput></screen>
[9c1db810]110
[5accd22]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
[8f0f884]114<screen os="o"><userinput>ln -sv multiarch_wrapper /usr/bin/perl
115ln -sv multiarch_wrapper /usr/bin/perl&perl-version;</userinput></screen>
[5accd22]116
[93a3052a]117 <para os="p">The value of the <envar>USE_ARCH</envar> environment variable
[5accd22]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
[c4534a5]122 to setup a 32bit extension or binding.</para>
[95ab747]123
[4b453a1]124 </sect2>
125
[3f8be484]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.