### C.3 Recommended Tools for Compilation

We recommend installing the following GNU tools before attempting to build the GNU C Library:

- GNU `make` 3.79 or newer

  You need the latest version of GNU `make`. Modifying the GNU C Library to work with other `make` programs would be so difficult that we recommend you port GNU `make` instead. Really. We recommend GNU `make` version 3.79. All earlier versions have severe bugs or lack features.

- GCC 4.4 or newer, GCC 4.6 recommended

  GCC 4.4 or higher is required; as of this writing, GCC 4.6 is the compiler we advise to use to build the GNU C Library.

  You can use whatever compiler you like to compile programs that use the GNU C Library.

  Check the FAQ for any special compiler issues on particular platforms.

- GNU `binutils` 2.20 or later

  You must use GNU `binutils` (as and ld) to build the GNU C Library. No other assembler or linker has the necessary functionality at the moment.

- GNU `texinfo` 4.5 or later

  To correctly translate and install the Texinfo documentation you need this version of the `texinfo` package. Earlier versions do not understand all the tags used in the document, and the installation mechanism for the info files is not present or works differently.

- GNU `awk` 3.1.2, or higher

  `awk` is used in several places to generate files. Some `gawk` extensions are used, including the `asorti` function, which was introduced in version 3.1.2 of `gawk`.

- Perl 5

  Perl is not required, but it is used if present to test the installation. We may decide to use it elsewhere in the future.

- GNU `sed` 3.02 or newer

  `Sed` is used in several places to generate files. Most scripts work with any version of `sed`. The known exception is the script `po2test.sed` in the `intl` subdirectory which is used to generate `msgs.h` for the test suite. This script works correctly only with GNU `sed` 3.02. If you like to run the test suite, you should definitely upgrade `sed`.

If you change any of the `configure.ac` files you will also need

- GNU `autoconf` 2.53 or higher

and if you change any of the message translation files you will need

- GNU `gettext` 0.10.36 or later

You may also need these packages if you upgrade your source tree using patches, although we try to avoid this.