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

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since bec0552 was 1da2a84, checked in by Joe Ciccone <jciccone@…>, 16 years ago

Checked and Updated Download Locations.
Updated Tree to 1.5.2.1.
Updated Util-Linux-NG to 2.14.1.
Updated TCL to 8.5.4.
Updated E2fsprogs to 1.41.1.
Updated M4 to 1.4.11.
Updated Kbd to 1.14.
Updated Bzip2 to 1.0.5.
Updated Autoconf to 2.63.
Updated Findutils to 4.4.0.
Updated Man-Pages to 3.09.
Updated Man to 1.6f.
Updated Shadow to 4.1.2.1.
Updated IPRoute2 to 2.6.26.
Updated Libtool to 2.2.6a.
Updated Module-Init-Tools to 3.4.1.
Updated Texinfo to 4.12.
Updated Vim to 7.2.
Updated MPFR to 2.3.2.
Updated Udev to 128.
Updated Linux to 2.6.26.5.
Applied fixes to Expect to make it compatible with TCL 8.5.
Add -Duseshrplib to the perl configure command. This causes perl to build a shared libperl.
Formatting fixes on multiple pages.
Use a Common inittab across all architectures.
Updated Bootscripts to 1.2-pre1.

  • Property mode set to 100644
File size: 4.7 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 -Duseshrplib</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 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
83 href="../common/perl.xml"
84 xpointer="xpointer(//*[@os='c4'])"/>
85
86 </variablelist>
87
88 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
89 href="../common/perl.xml"
90 xpointer="xpointer(//*[@os='d'])"/>
91
92 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
93 href="../common/perl.xml"
94 xpointer="xpointer(//*[@os='e'])"/>
95
96 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
97 href="../common/perl.xml"
98 xpointer="xpointer(//*[@os='h'])"/>
99
100 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
101 href="../common/perl.xml"
102 xpointer="xpointer(//*[@os='j'])"/>
103
104 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
105 href="../common/perl.xml"
106 xpointer="xpointer(//*[@os='k'])"/>
107
108 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
109 href="perl.xml"
110 xpointer="xpointer(//*[@os='l'])"/>
111
112<screen os="m"><userinput>mv -v /usr/bin/perl{,-64}
113mv -v /usr/bin/perl&perl-version;{,-64}</userinput></screen>
114
115 <para os="n">Now we need to create a link to the multiarch wrapper that
116 lets us choose which perl installation to use:</para>
117
118<screen os="o"><userinput>ln -sv multiarch_wrapper /usr/bin/perl
119ln -sv multiarch_wrapper /usr/bin/perl&perl-version;</userinput></screen>
120
121 <para os="p">The value of the <envar>USE_ARCH</envar> environment variable
122 will decide which perl binary to execute.
123 <command>USE_ARCH=32 perl -V:cc</command> will give the value of CC used to
124 build the 32bit perl. The multiarch_wrapper will help later with building
125 perl extensions and bindings. Without the multiarch_wrapper it is very hard
126 to setup a 32bit extension or binding.</para>
127
128 </sect2>
129
130 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
131 href="../common/perl.xml"
132 xpointer="xpointer(id('contents-perl'))"/>
133
134</sect1>
Note: See TracBrowser for help on using the repository browser.