aboutsummaryrefslogtreecommitdiffstats
path: root/chapter05/coreutils.xml
blob: bd273a6f7b9187cb623a14040f969344ba140a99 (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
<sect1 id="ch05-coreutils">
<title>Installing Coreutils-&coreutils-version;</title>
<?dbhtml filename="coreutils.html" dir="chapter05"?>

<screen>Estimated build time:           &coreutils-time-tools;
Estimated required disk space:  &coreutils-compsize-tools;</screen>

<literallayout>Official download location for Coreutils (&coreutils-version;):
<ulink url="ftp://ftp.gnu.org/gnu/coreutils/"/>
And for the Coreutils Posixver Patch:
<ulink url="&patches-root;&coreutils-posixver-patch;"/></literallayout> 

&aa-coreutils-dep;

<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

<sect2>
<title>Installation of Coreutils</title>

<para>Coreutils has an issue when compiled against Glibc-&glibc-version;.
Without the patch below, some of the Coreutils utilities (head, tail, sort etc)
will reject their traditional syntax which has been in use for approximately 30
years. The old syntax is so pervasive that compatibility must be preserved until
the many places where it is used can be updated. More details are provided in
the comments inside the patch itself. Use of this patch is by no means
compulsory but opting not to use it means you'll have deal with the consequences
yourself, i.e. patch the many software packages that use the old syntax. Apply
the patch:</para>

<screen><userinput>patch -Np1 -i ../&coreutils-posixver-patch;</userinput></screen>

<para>Now prepare Coreutils for compilation:</para>

<screen><userinput>./configure --prefix=/tools</userinput></screen>

<para>Compile the package:</para>

<screen><userinput>make</userinput></screen>

<para>As discussed earlier, we don't recommend running the test suites for the
temporary tools here in this chapter. If you still want to run the Coreutils
test suite anyway, the following command will do so:</para>

<screen><userinput>make RUN_EXPENSIVE_TESTS=yes check</userinput></screen>

<para>The meaning of the make parameter:</para>

<itemizedlist>
<listitem><para><userinput>RUN_EXPENSIVE_TESTS=yes</userinput>: This tells the
test suite to run several additional tests that are considered relatively
expensive on some platforms. However, they are generally not a problem on
Linux.</para></listitem>
</itemizedlist>

<para>And install the package:</para>

<screen><userinput>make install</userinput></screen>

</sect2>

<sect2><title>&nbsp;</title><para>&nbsp;</para>
<para>The details on this package are found in <xref linkend="contents-coreutils"/>.</para>
<para>&nbsp;</para></sect2>

</sect1>