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

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 1da2a84 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.