source: chapter04/chapter04.xml@ 46c039e

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.0 6.1 6.1.1 6.3 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 v5_1 v5_1_1 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 46c039e was 46c039e, checked in by Alex Gronenwoud <alex@…>, 20 years ago

Removing some of the dbhtml directives.

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

  • Property mode set to 100644
File size: 11.8 KB
Line 
1<chapter id="chapter-getting-materials" xreflabel="Chapter 4">
2<title>The materials: packages and patches</title>
3
4
5<sect1 id="materials-introduction">
6<title>Introduction</title>
7
8<para>Below is a list of packages you need to download for building a basic
9Linux system. The listed version numbers correspond to versions of the
10software that are <emphasis>known</emphasis> to work, and this book is
11based upon them. Unless you are an experienced LFS builder, we highly
12recommend not to try out newer versions, as the build commands for one
13version may not work with a newer version. Also, there is often a good
14reason for not using the latest version due to known problems that haven't
15been worked around yet.</para>
16
17<para>All the URLs, when possible, refer to the project's page at
18<ulink url="http://www.freshmeat.net/"/>. The Freshmeat
19pages will give you easy access to the official download sites as well as
20project websites, mailing lists, FAQs, changelogs and more.</para>
21
22<para>We can't guarantee that these download locations are always available.
23In case a download location has changed since this book was published, please
24try to google for the package. Should you remain unsuccessful with this, you
25can consult the book's errata page at <ulink url="&lfs-root;lfs/print/"/>
26or, better yet, try one of the alternative means of downloading listed on
27<ulink url="&lfs-root;lfs/packages.html"/>.</para>
28
29<para>You'll need to store all the downloaded packages and patches somewhere
30that is conveniently available throughout the entire build. You'll also need a
31working directory in which to unpack the sources and build them. A scheme that
32works well is to use <filename>$LFS/sources</filename> as the place to store
33the tarballs and patches, <emphasis>and</emphasis> as a working directory.
34This way everything you need will be located on the LFS partition and available
35during all stages of the building process.</para>
36
37<para>So you may want to execute, as <emphasis>root</emphasis>, the following
38command before starting your download session:</para>
39
40<screen><userinput>mkdir $LFS/sources</userinput></screen>
41
42<para>And make this directory writable (and sticky) for your normal user -- as
43you won't do the downloading as <emphasis>root</emphasis>, we guess:</para>
44
45<screen><userinput>chmod a+wt $LFS/sources</userinput></screen>
46
47<!--
48<para>For your convenience the top of the list contains a link to a file
49you can use with the <ulink url="http://wget.sunsite.dk">wget</ulink>
50program. Using this file and the <command>wget</command> program will
51make it easy to download all the files at once, rather than downloading each
52and every individual file manually.</para>
53-->
54
55</sect1>
56
57
58<sect1 id="materials-packages">
59<title>All the packages</title>
60
61<para>Download or otherwise obtain the following packages:</para>
62
63<literallayout>
64Autoconf (&autoconf-version;) - &autoconf-size;:
65<ulink url="http://freshmeat.net/projects/autoconf/"/>
66
67Automake (&automake-version;) - &automake-size;:
68<ulink url="http://freshmeat.net/projects/automake/"/>
69
70Bash (&bash-version;) - &bash-size;:
71<ulink url="http://freshmeat.net/projects/gnubash/"/>
72
73Binutils (&binutils-version;) - &binutils-size;:
74<ulink url="http://freshmeat.net/projects/binutils/"/>
75
76Bison (&bison-version;) - &bison-size;:
77<ulink url="http://freshmeat.net/projects/bison/"/>
78
79Bzip2 (&bzip2-version;) - &bzip2-size;:
80<ulink url="http://freshmeat.net/projects/bzip2/"/>
81
82Coreutils (&coreutils-version;) - &coreutils-size;:
83<ulink url="http://freshmeat.net/projects/coreutils/"/>
84
85DejaGnu (&dejagnu-version;) - &dejagnu-size;:
86<ulink url="http://freshmeat.net/projects/dejagnu/"/>
87
88Diffutils (&diffutils-version;) - &diffutils-size;:
89<ulink url="http://freshmeat.net/projects/diffutils/"/>
90
91E2fsprogs (&e2fsprogs-version;) - &e2fsprogs-size;:
92<ulink url="http://freshmeat.net/projects/e2fsprogs/"/>
93
94Ed (&ed-version;) - &ed-size;:
95<ulink url="http://freshmeat.net/projects/ed/"/>
96
97Expect (&expect-version;) - &expect-size;:
98<ulink url="http://freshmeat.net/projects/expect/"/>
99
100File (&file-version;) - &file-size;: -- <emphasis>(see Note 1 below)</emphasis>
101<ulink url="http://freshmeat.net/projects/file/"/>
102
103Findutils (&findutils-version;) - &findutils-size;:
104<ulink url="http://freshmeat.net/projects/findutils/"/>
105
106Flex (&flex-version;) - &flex-size;:
107<ulink url="ftp://ftp.gnu.org/gnu/non-gnu/flex/"/>
108
109Gawk (&gawk-version;) - &gawk-size;:
110<ulink url="http://freshmeat.net/projects/gnuawk/"/>
111
112GCC (&gcc-2953-version;) - &gcc-2953-size;:
113<ulink url="http://freshmeat.net/projects/gcc/"/>
114
115GCC-core (&gcc-version;) - &gcc-core-size;:
116<ulink url="http://freshmeat.net/projects/gcc/"/>
117
118GCC-g++ (&gcc-version;) - &gcc-gpp-size;:
119<ulink url="http://freshmeat.net/projects/gcc/"/>
120
121GCC-testsuite (&gcc-version;) - &gcc-testsuite-size;:
122<ulink url="http://freshmeat.net/projects/gcc/"/>
123
124Gettext (&gettext-version;) - &gettext-size;:
125<ulink url="http://freshmeat.net/projects/gettext/"/>
126
127Glibc (&glibc-version;) - &glibc-size;: -- <emphasis>(see Note 2 below)</emphasis>
128<ulink url="http://freshmeat.net/projects/glibc/"/>
129
130Grep (&grep-version;) - &grep-size;:
131<ulink url="http://freshmeat.net/projects/grep/"/>
132
133Groff (&groff-version;) - &groff-size;:
134<ulink url="http://freshmeat.net/projects/groff/"/>
135
136Grub (&grub-version;) - &grub-size;:
137<ulink url="ftp://alpha.gnu.org/pub/gnu/grub/"/>
138
139Gzip (&gzip-version;) - &gzip-size;:
140<ulink url="ftp://alpha.gnu.org/gnu/gzip/"/>
141
142Inetutils (&inetutils-version;) - &inetutils-size;:
143<ulink url="http://freshmeat.net/projects/inetutils/"/>
144
145Kbd (&kbd-version;) - &kbd-size;:
146<ulink url="http://freshmeat.net/projects/kbd/"/>
147
148Less (&less-version;) - &less-size;:
149<ulink url="http://freshmeat.net/projects/less/"/>
150
151LFS-Bootscripts (&bootscripts-version;) - &bootscripts-size;:
152<ulink url="&http-down;lfs-bootscripts-&bootscripts-version;.tar.bz2"/>
153
154Lfs-Utils (&lfs-utils-version;) - &lfs-utils-size;:
155<ulink url="&lfs-root;~winkie/downloads/lfs-utils/"/>
156
157Libtool (&libtool-version;) - &libtool-size;:
158<ulink url="http://freshmeat.net/projects/libtool/"/>
159
160Linux (&kernel-version;) - &kernel-size;:
161<ulink url="http://freshmeat.net/projects/linux/"/>
162
163M4 (&m4-version;) - &m4-size;:
164<ulink url="http://freshmeat.net/projects/gnum4/"/>
165
166Make (&make-version;) - &make-size;:
167<ulink url="http://freshmeat.net/projects/gnumake/"/>
168
169Make_devices (&makedev-version;) - &makedev-size;:
170<ulink url="&lfs-root;~alex/make_devices-&makedev-version;.bz2"/>
171
172Man (&man-version;) - &man-size;:
173<ulink url="http://freshmeat.net/projects/man/"/>
174
175Man-pages (&man-pages-version;) - &man-pages-size;:
176<ulink url="http://freshmeat.net/projects/man-pages/"/>
177
178Modutils (&modutils-version;) - &modutils-size;:
179<ulink url="http://freshmeat.net/projects/modutils/"/>
180
181Ncurses (&ncurses-version;) - &ncurses-size;:
182<ulink url="http://freshmeat.net/projects/ncurses/"/>
183
184Net-tools (&net-tools-version;) - &net-tools-size;:
185<ulink url="http://freshmeat.net/projects/net-tools/"/>
186
187Patch (&patch-version;) - &patch-size;:
188<ulink url="http://freshmeat.net/projects/patch/"/>
189
190Perl (&perl-version;) - &perl-size;:
191<ulink url="http://freshmeat.net/projects/perl/"/>
192
193Procinfo (&procinfo-version;) - &procinfo-size;:
194<ulink url="http://freshmeat.net/projects/procinfo/"/>
195
196Procps (&procps-version;) - &procps-size;:
197<ulink url="http://freshmeat.net/projects/procps/"/>
198
199Psmisc (&psmisc-version;) - &psmisc-size;:
200<ulink url="http://freshmeat.net/projects/psmisc/"/>
201
202Sed (&sed-version;) - &sed-size;:
203<ulink url="http://freshmeat.net/projects/sed/"/>
204
205Shadow (&shadow-version;) - &shadow-size;:
206<ulink url="http://freshmeat.net/projects/shadow/"/>
207
208Sysklogd (&sysklogd-version;) - &sysklogd-size;:
209<ulink url="http://freshmeat.net/projects/sysklogd/"/>
210
211Sysvinit (&sysvinit-version;) - &sysvinit-size;:
212<ulink url="http://freshmeat.net/projects/sysvinit/"/>
213
214Tar (&tar-version;) - &tar-size;:
215<ulink url="ftp://alpha.gnu.org/gnu/tar/"/>
216
217Tcl (&tcl-version;) - &tcl-size;:
218<ulink url="http://freshmeat.net/projects/tcltk/"/>
219
220Texinfo (&texinfo-version;) - &texinfo-size;:
221<ulink url="http://freshmeat.net/projects/texinfo/"/>
222
223Util-linux (&util-linux-version;) - &util-linux-size;:
224<ulink url="http://freshmeat.net/projects/util-linux/"/>
225
226Vim (&vim-version;) - &vim-size;:
227<ulink url="http://freshmeat.net/projects/vim/"/>
228
229Zlib (&zlib-version;) - &zlib-size;:
230<ulink url="http://freshmeat.net/projects/zlib/"/>
231
232Total size of these packages: &all-size-mb;
233</literallayout>
234
235<note><para>1) File (&file-version;) may not be available by the time you read
236this. The site admins of the master download location are known to occasionally
237remove old versions when new ones are released. Please refer to the
238<xref linkend="ch-system-file"/> section for an alternate download
239location.</para></note>
240
241<note><para>2) As of this writing, the Glibc maintainers have decided in their
242wisdom not to make available new release tarballs for download. The only way to
243obtain the current Glibc release from pristine upstream sources is to pull it
244from the Glibc CVS repository. The following commands will download the current
245release and make a tarball from it:</para>
246
247<screen><userinput>cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \
248&nbsp;&nbsp;&nbsp;&nbsp;export -d &glibc-dir; -D "2003-12-02 UTC" libc
249tar jcvf &glibc-package; &glibc-dir;</userinput></screen>
250
251<para>Alternatively, we've made our own tarball available which you can
252download courtesy of the generous LFS mirror sites. Please refer to the
253<xref linkend="ch-tools-glibc"/> section for the download links.</para></note>
254
255</sect1>
256
257
258<sect1 id="materials-patches">
259<title>Needed patches</title>
260
261<para>Besides all those packages, you'll also need several patches. These
262correct tiny mistakes in the packages that should be fixed by the maintainer,
263or just make some small modifications to bend things our way. You'll need the
264following:</para>
265
266<literallayout>
267Bash Patch - &bash-patch-size;:
268<ulink url="&patches-root;&bash-patch;"/>
269
270Bison Attribute Patch - &bison-patch-size;:
271<ulink url="&patches-root;&bison-patch;"/>
272
273Coreutils Hostname Patch - &coreutils-hostname-patch-size;:
274<ulink url="&patches-root;&coreutils-hostname-patch;"/>
275
276Coreutils Posixver Patch - &coreutils-posixver-patch-size;:
277<ulink url="&patches-root;&coreutils-posixver-patch;"/>
278
279Coreutils Uname Patch - &coreutils-uname-patch-size;:
280<ulink url="&patches-root;&coreutils-uname-patch;"/>
281
282Ed Mkstemp Patch - &ed-patch-size;:
283<ulink url="&patches-root;&ed-patch;"/>
284
285Expect Spawn Patch - &expect-patch-size;:
286<ulink url="&patches-root;&expect-patch;"/>
287
288GCC No-Fixincludes Patch - &gcc-nofixincludes-patch-size;:
289<ulink url="&patches-root;&gcc-nofixincludes-patch;"/>
290
291GCC Specs Patch - &gcc-specs-patch-size;:
292<ulink url="&patches-root;&gcc-specs-patch;"/>
293
294GCC-2 Patch - &gcc-2953-patch-size;:
295<ulink url="&patches-root;&gcc-2953-patch;"/>
296
297GCC-2 No-Fixincludes Patch - &gcc-2953-no-fixinc-patch-size;:
298<ulink url="&patches-root;&gcc-2953-no-fixinc-patch;"/>
299
300GCC-2 Return-Type Patch - &gcc-2953-returntype-fix-patch-size;:
301<ulink url="&patches-root;&gcc-2953-returntype-fix-patch;"/>
302
303Inetutils No-Server-Man-Pages Patch - &inetutils-no-server-man-pages-patch-size;:
304<ulink url="&patches-root;&inetutils-no-server-man-pages-patch;"/>
305
306Kbd More-Programs Patch - &kbd-patch-size;:
307<ulink url="&patches-root;&kbd-patch;"/>
308
309Man 80-Columns Patch - &man-80cols-patch-size;:
310<ulink url="&patches-root;&man-80cols-patch;"/>
311
312Net-tools Mii-Tool-Gcc33 Patch - &net-tools-mii-patch-size;:
313<ulink url="&patches-root;&net-tools-mii-patch;"/>
314
315Perl Libc Patch - &perl-libc-patch-size;:
316<ulink url="&patches-root;&perl-libc-patch;"/>
317</literallayout>
318
319<para>In addition to the above required patches, there exist a number of
320optional ones created by the LFS community. Most of these solve slight
321problems, or enable some functionality that's not enabled by default.
322Feel free to examine the patches database, located at <ulink
323url="&lfs-root;patches/"/>, and pick any additional patches you wish to
324use.</para>
325
326</sect1>
327
328</chapter>
329
Note: See TracBrowser for help on using the repository browser.