aboutsummaryrefslogtreecommitdiffstats
path: root/prologue/hostreqs.xml
blob: 795f873701a4ea407af31f04ea828f7d841267ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="pre-hostreqs">
  <?dbhtml filename="hostreqs.html"?>

  <title>Host System Requirements</title>

    <para>Your host system should have the following software with the
    minimum versions indicated. This should not be an issue for most
    modern Linux distributions. Also note that many distributions will
    place software headers into separate packages, often in the form of
    <quote>&lt;package-name&gt;-devel</quote> or
    <quote>&lt;package-name&gt;-dev</quote>. Be sure to install those if
    your distribution provides them.</para>

  <itemizedlist spacing="compact">

    <listitem>
      <para><emphasis role="strong">Bash-2.05a</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Binutils-2.12</emphasis> (Versions
      greater than &binutils-version; are not recommended as they have
      not been tested)</para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Bison-1.26a</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Bzip2-1.0.2</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Coreutils-5.0</emphasis> (or Sh-Utils-2.0,
      Textutils-2.0, and Fileutils-4.1)</para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Diffutils-2.8</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Findutils-4.1.20</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Gawk-3.0</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Gcc-2.95.3</emphasis> (Versions
      greater than &gcc-version; are not recommended as they have not
      been tested)</para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Glibc-2.2.5</emphasis> (Versions
      greater than &glibc-version; are not recommended as they have
      not been tested)</para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Grep-2.5</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Gzip-1.2.4</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Linux Kernel-2.6.x</emphasis>
      (having been compiled with GCC-3.0 or greater)</para>

      <para>The reason for the kernel version requirement is that thread-local
      storage support in Binutils will not be built and the Native POSIX
      Threading Library (NPTL) test suite will segfault if the host's kernel
      isn't at least a 2.6.x version compiled with a 3.0 or later release of
      GCC.</para>

      <para>If the host kernel is either earlier than 2.6.x, or it was not
      compiled using a GCC-3.0 (or later) compiler, you will have to replace
      the kernel with one adhering to the specifications. There are two methods
      you can take to solve this. First, see if your Linux vendor provides a
      2.6 kernel package. If so, you may wish to install it. If your vendor
      doesn't offer a 2.6 kernel package, or you would prefer not to install it,
      then you can compile a 2.6 kernel yourself. Instructions for compiling the
      kernel and configuring the boot loader (assuming the host uses GRUB) are
      located in <xref linkend="chapter-bootable"/>.</para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Make-3.79.1</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Patch-2.5.4</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Sed-3.0.2</emphasis></para>
    </listitem>

    <listitem>
      <para><emphasis role="strong">Tar-1.14</emphasis></para>
    </listitem>

  </itemizedlist>

  <para>To see whether your host system has all the appropriate versions, run the following:</para>

<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash

# Simple script to list version numbers of critical development tools

bash --version | head -n1 | cut -d" " -f2-4
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-4
bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
gcc --version | head -n1
/lib/libc.so.6 | head -n1 | cut -d" " -f1-7
grep --version | head -n1
gzip --version | head -n1
cat /proc/version | head -n1 | cut -d" " -f1-3,5-7
make --version | head -n1
patch --version | head -n1
sed --version | head -n1
tar --version | head -n1</literal>

EOF

bash version-check.sh</userinput></screen>

</sect1>