source: prologue/hostreqs.xml@ 1fa0f19

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 1fa0f19 was 56ca3a5f, checked in by Bruce Dubbs <bdubbs@…>, 16 years ago

Added a note to the Host System Requirements that the
Linux host must be a 32-bit system and that the book only supports
a 32-bit build.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8683 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 6.8 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="pre-hostreqs">
9 <?dbhtml filename="hostreqs.html"?>
10
11 <title>Host System Requirements</title>
12
13 <para>Your host system should have the following software with the
14 minimum versions indicated. This should not be an issue for most
15 modern Linux distributions. Also note that many distributions will
16 place software headers into separate packages, often in the form of
17 <quote>&lt;package-name&gt;-devel</quote> or
18 <quote>&lt;package-name&gt;-dev</quote>. Be sure to install those if
19 your distribution provides them.</para>
20
21 <itemizedlist spacing="compact">
22
23 <listitem>
24 <para><emphasis role="strong">Bash-2.05a</emphasis> (/bin/sh
25 should be a symbolic or hard link to bash)</para>
26 </listitem>
27
28 <listitem>
29 <para><emphasis role="strong">Binutils-2.12</emphasis> (Versions
30 greater than &binutils-version; are not recommended as they have
31 not been tested)</para>
32 </listitem>
33
34 <listitem>
35 <para><emphasis role="strong">Bison-1.875</emphasis> (/usr/bin/yacc
36 should be a link to bison or small script that executes bison)</para>
37 </listitem>
38
39 <listitem>
40 <para><emphasis role="strong">Bzip2-1.0.2</emphasis></para>
41 </listitem>
42
43 <listitem>
44 <para><emphasis role="strong">Coreutils-5.0</emphasis> (or Sh-Utils-2.0,
45 Textutils-2.0, and Fileutils-4.1)</para>
46 </listitem>
47
48 <listitem>
49 <para><emphasis role="strong">Diffutils-2.8</emphasis></para>
50 </listitem>
51
52 <listitem>
53 <para><emphasis role="strong">Findutils-4.1.20</emphasis></para>
54 </listitem>
55
56 <listitem>
57 <para><emphasis role="strong">Gawk-3.0</emphasis> (/usr/bin/awk
58 should be a link to gawk)</para>
59 </listitem>
60
61 <listitem>
62 <!-- Gcc-2.95.3 breaks feature tests when using CC="gcc -B/usr/bin/"
63 in the *-pass1 sections -->
64 <para><emphasis role="strong">Gcc-3.0.1</emphasis> (Versions
65 greater than &gcc-version; are not recommended as they have not
66 been tested)</para>
67 </listitem>
68
69 <listitem>
70 <para><emphasis role="strong">Glibc-2.2.5</emphasis> (Versions
71 greater than &glibc-version; are not recommended as they have
72 not been tested)</para>
73 </listitem>
74
75 <listitem>
76 <para><emphasis role="strong">Grep-2.5</emphasis></para>
77 </listitem>
78
79 <listitem>
80 <para><emphasis role="strong">Gzip-1.2.4</emphasis></para>
81 </listitem>
82
83 <listitem>
84 <para><emphasis role="strong">Linux Kernel-2.6.x</emphasis>
85 (having been compiled with GCC-3.0 or greater)</para>
86
87 <para>The reason for the kernel version requirement is that thread-local
88 storage support in Binutils will not be built and the Native POSIX
89 Threading Library (NPTL) test suite will segfault if the host's kernel
90 isn't at least a 2.6.x version compiled with a 3.0 or later release of
91 GCC.</para>
92
93 <para>If the host kernel is either earlier than 2.6.x, or it was not
94 compiled using a GCC-3.0 (or later) compiler, you will have to replace
95 the kernel with one adhering to the specifications. There are two methods
96 you can take to solve this. First, see if your Linux vendor provides a
97 2.6 kernel package. If so, you may wish to install it. If your vendor
98 doesn't offer a 2.6 kernel package, or you would prefer not to install it,
99 then you can compile a 2.6 kernel yourself. Instructions for compiling the
100 kernel and configuring the boot loader (assuming the host uses GRUB) are
101 located in <xref linkend="chapter-bootable"/>.</para>
102
103 <note>
104 <para>This version of the book builds a 32-bit Linux system and
105 requires an existing 32-bit version of of the kernel on the Intel/AMD
106 x86 architecture. Adding capabilty for x86_64 systems is a major
107 objective of a future version of LFS. Support for 64-bit systems and
108 additional architectures can be found in the Cross-Compiled Linux From
109 Scratch (CLFS) project at <ulink url="http://cross-lfs.org/view/svn/"/>.
110 </para>
111 </note>
112
113 </listitem>
114
115 <listitem>
116 <para><emphasis role="strong">M4-1.4</emphasis></para>
117 </listitem>
118
119 <listitem>
120 <para><emphasis role="strong">Make-3.79.1</emphasis></para>
121 </listitem>
122
123 <listitem>
124 <para><emphasis role="strong">Patch-2.5.4</emphasis></para>
125 </listitem>
126
127 <listitem>
128 <para><emphasis role="strong">Perl-5.6.0</emphasis></para>
129 </listitem>
130
131 <listitem>
132 <para><emphasis role="strong">Sed-3.0.2</emphasis></para>
133 </listitem>
134
135 <listitem>
136 <para><emphasis role="strong">Tar-1.14</emphasis></para>
137 </listitem>
138
139 <!-- Needed by the apparently broken Binutils-2.18 -->
140 <listitem>
141 <para><emphasis role="strong">Texinfo-4.8</emphasis></para>
142 </listitem>
143
144 </itemizedlist>
145
146 <para>Note that the symlinks mentioned above are required to build an LFS
147 system using the instructions contained within this book. Symlinks that
148 point to other software (such as dash, mawk, etc.) may work, but are not
149 tested or supported by the LFS development team, and may require either
150 deviation from the instructions or additional patches to some
151 packages.</para>
152
153 <para>To see whether your host system has all the appropriate versions, and
154 the ability to compile programs, run the following:</para>
155
156<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
157<literal>#!/bin/bash
158export LC_ALL=C
159
160# Simple script to list version numbers of critical development tools
161
162bash --version | head -n1 | cut -d" " -f2-4
163echo "/bin/sh -> `readlink -f /bin/sh`"
164echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
165bison --version | head -n1
166if [ -e /usr/bin/yacc ]; then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
167 else echo "yacc not found"; fi
168bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
169echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
170diff --version | head -n1
171find --version | head -n1
172gawk --version | head -n1
173if [ -e /usr/bin/awk ]; then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";
174 else echo "awk not found"; fi
175gcc --version | head -n1
176/lib/libc.so.6 | head -n1 | cut -d" " -f1-7
177grep --version | head -n1
178gzip --version | head -n1
179cat /proc/version
180m4 --version | head -n1
181make --version | head -n1
182patch --version | head -n1
183echo Perl `perl -V:version`
184sed --version | head -n1
185tar --version | head -n1
186makeinfo --version | head -n1
187echo 'main(){}' > dummy.c &amp;&amp; gcc -o dummy dummy.c
188if [ -x dummy ]; then echo "Compilation OK"; else echo "Compilation failed"; fi
189rm -f dummy.c dummy
190</literal>
191EOF
192
193bash version-check.sh</userinput></screen>
194
195</sect1>
Note: See TracBrowser for help on using the repository browser.