source: chapter02/hostreqs.xml@ cb518e0

xry111/clfs-ng
Last change on this file since cb518e0 was cb518e0, checked in by Xi Ruoyao <xry111@…>, 2 years ago

cross-ng: remove kernel from hostreqs

  • 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="ch-partitioning-hostreqs" xreflabel="Host System Requirements">
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 <para>Earlier versions of the listed software packages may work, but have
22 not been tested.</para>
23
24 <itemizedlist spacing="compact">
25
26 <listitem>
27 <para><emphasis role="strong">Bash-3.2</emphasis> (/bin/sh
28 should be a symbolic or hard link to bash)</para>
29 </listitem>
30
31 <listitem>
32 <para><emphasis role="strong">Binutils-2.13.1</emphasis> (Versions
33 greater than &binutils-version; are not recommended as they have
34 not been tested)</para>
35 </listitem>
36
37 <listitem>
38 <para><emphasis role="strong">Bison-2.7</emphasis> (/usr/bin/yacc
39 should be a link to bison or small script that executes bison)</para>
40 </listitem>
41
42 <listitem>
43 <para><emphasis role="strong">Coreutils-6.9</emphasis></para>
44 </listitem>
45
46 <listitem>
47 <para><emphasis role="strong">Diffutils-2.8.1</emphasis></para>
48 </listitem>
49
50 <listitem>
51 <para><emphasis role="strong">Findutils-4.2.31</emphasis></para>
52 </listitem>
53
54 <listitem>
55 <para><emphasis role="strong">Gawk-4.0.1</emphasis> (/usr/bin/awk
56 should be a link to gawk)</para>
57 </listitem>
58
59 <listitem>
60 <para><emphasis role="strong">GCC-4.8</emphasis> including the C++
61 compiler, <command>g++</command> (Versions greater than &gcc-version; are
62 not recommended as they have not been tested). C and C++ standard
63 libraries (with headers) must also be present so the C++ compiler can
64 build hosted programs</para>
65 </listitem>
66
67 <listitem>
68 <para><emphasis role="strong">Grep-2.5.1a</emphasis></para>
69 </listitem>
70
71 <listitem>
72 <para><emphasis role="strong">Gzip-1.3.12</emphasis></para>
73 </listitem>
74
75 <listitem>
76 <para><emphasis role="strong">M4-1.4.10</emphasis></para>
77 </listitem>
78
79 <listitem>
80 <para><emphasis role="strong">Make-4.0</emphasis></para>
81 </listitem>
82
83 <listitem>
84 <para><emphasis role="strong">Patch-2.5.4</emphasis></para>
85 </listitem>
86
87 <listitem>
88 <para><emphasis role="strong">Perl-5.8.8</emphasis></para>
89 </listitem>
90
91 <listitem>
92 <para><emphasis role="strong">Python-3.4</emphasis></para>
93 </listitem>
94
95 <listitem>
96 <para><emphasis role="strong">Sed-4.1.5</emphasis></para>
97 </listitem>
98
99 <listitem>
100 <para><emphasis role="strong">Tar-1.22</emphasis></para>
101 </listitem>
102
103 <listitem>
104 <para><emphasis role="strong">Texinfo-4.7</emphasis></para>
105 </listitem>
106
107 <listitem>
108 <para><emphasis role="strong">Xz-5.0.0</emphasis></para>
109 </listitem>
110
111 </itemizedlist>
112
113 <important>
114 <para>Note that the symlinks mentioned above are required to build an LFS
115 system using the instructions contained within this book. Symlinks that
116 point to other software (such as dash, mawk, etc.) may work, but are not
117 tested or supported by the LFS development team, and may require either
118 deviation from the instructions or additional patches to some
119 packages.</para>
120 </important>
121
122 <!-- Use an empty sect2 element to prevent a pdf warning. -->
123 <bridgehead renderas="sect2"
124 id="version-check"
125 xreflabel="Host System Requirements">
126 </bridgehead>
127 <!--<title> </title>-->
128
129 <para >To see whether your host system has all the appropriate versions, and
130 the ability to compile programs, run the following:</para>
131
132<screen role="nodump"><userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
133<literal>#!/bin/bash
134# Simple script to list version numbers of critical development tools
135export LC_ALL=C
136bash --version | head -n1 | cut -d" " -f2-4
137MYSH=$(readlink -f /bin/sh)
138echo "/bin/sh -&gt; $MYSH"
139echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash"
140unset MYSH
141
142echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
143bison --version | head -n1
144
145if [ -h /usr/bin/yacc ]; then
146 echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
147elif [ -x /usr/bin/yacc ]; then
148 echo yacc is `/usr/bin/yacc --version | head -n1`
149else
150 echo "yacc not found"
151fi
152
153echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
154diff --version | head -n1
155find --version | head -n1
156gawk --version | head -n1
157
158if [ -h /usr/bin/awk ]; then
159 echo "/usr/bin/awk -&gt; `readlink -f /usr/bin/awk`";
160elif [ -x /usr/bin/awk ]; then
161 echo awk is `/usr/bin/awk --version | head -n1`
162else
163 echo "awk not found"
164fi
165
166gcc --version | head -n1
167g++ --version | head -n1
168grep --version | head -n1
169gzip --version | head -n1
170cat /proc/version
171m4 --version | head -n1
172make --version | head -n1
173patch --version | head -n1
174echo Perl `perl -V:version`
175python3 --version
176sed --version | head -n1
177tar --version | head -n1
178makeinfo --version | head -n1 # texinfo version
179xz --version | head -n1
180
181echo 'int main(){}' &gt; dummy.c &amp;&amp; g++ -o dummy dummy.c
182if [ -x dummy ]
183 then echo "g++ compilation OK";
184 else echo "g++ compilation failed"; fi
185rm -f dummy.c dummy</literal>
186EOF
187
188bash version-check.sh</userinput></screen>
189<!--
190 <para>Also check for some library consistency:</para>
191
192<screen role="nodump"><userinput>cat &gt; library-check.sh &lt;&lt; "EOF"
193<literal>#!/bin/bash
194for lib in lib{gmp,mpfr,mpc}.la; do
195 echo $lib: $(if find /usr/lib* -name $lib|
196 grep -q $lib;then :;else echo not;fi) found
197done
198unset lib</literal>
199EOF
200
201bash library-check.sh</userinput></screen>
202
203<para>The files identified by this script should be all present
204or all absent, but not only one or two present.</para>
205-->
206
207</sect1>
Note: See TracBrowser for help on using the repository browser.