source: prologue/hostreqs.xml@ e4ab232

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.4 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 e4ab232 was e4ab232, checked in by Bruce Dubbs <bdubbs@…>, 16 years ago

Add note about symlink reqt in Host Requirements
Add simple compilation check in Host Requirements

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

  • Property mode set to 100644
File size: 6.2 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 </listitem>
103
104 <listitem>
105 <para><emphasis role="strong">Make-3.79.1</emphasis></para>
106 </listitem>
107
108 <listitem>
109 <para><emphasis role="strong">Patch-2.5.4</emphasis></para>
110 </listitem>
111
112 <listitem>
113 <para><emphasis role="strong">Perl-5.6.0</emphasis></para>
114 </listitem>
115
116 <listitem>
117 <para><emphasis role="strong">Sed-3.0.2</emphasis></para>
118 </listitem>
119
120 <listitem>
121 <para><emphasis role="strong">Tar-1.14</emphasis></para>
122 </listitem>
123
124 <!-- Needed by the apparently broken Binutils-2.18 -->
125 <listitem>
126 <para><emphasis role="strong">Texinfo-4.8</emphasis></para>
127 </listitem>
128
129 </itemizedlist>
130
131 <para>Note that the symlinks mentioned above are required to build an LFS
132 system using the instructions contained within this book. Symlinks that
133 point to other software (such as dash, mawk, etc.) may work, but are not
134 tested or supported by the LFS development team, and may require either
135 deviation from the instructions or additional patches to some
136 packages.</para>
137
138 <para>To see whether your host system has all the appropriate versions, and
139 ability to compile programs, run
140 the following:</para>
141
142<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
143<literal>#!/bin/bash
144export LC_ALL=C
145
146# Simple script to list version numbers of critical development tools
147
148bash --version | head -n1 | cut -d" " -f2-4
149echo "/bin/sh -> `readlink -f /bin/sh`"
150echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
151bison --version | head -n1
152if [ -e /usr/bin/yacc ]; then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
153 else echo "yacc not found"; fi
154bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
155echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
156diff --version | head -n1
157find --version | head -n1
158gawk --version | head -n1
159if [ -e /usr/bin/awk ]; then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`";
160 else echo "awk not found"; fi
161gcc --version | head -n1
162/lib/libc.so.6 | head -n1 | cut -d" " -f1-7
163grep --version | head -n1
164gzip --version | head -n1
165cat /proc/version
166make --version | head -n1
167patch --version | head -n1
168echo Perl `perl -V:version`
169sed --version | head -n1
170tar --version | head -n1
171makeinfo --version | head -n1
172echo 'main(){}' > dummy.c &amp;&amp; gcc -o dummy dummy.c
173if [ -x dummy ]; then echo "Compilation OK"; else echo "Compilation failed"; fi
174rm -f dummy.c dummy
175</literal>
176EOF
177
178bash version-check.sh</userinput></screen>
179
180</sect1>
Note: See TracBrowser for help on using the repository browser.