From 72fb9bf99704f015341645d1f9c8ae7c74a128d5 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 16 May 2016 22:12:01 +0000 Subject: Moved Host System Requirements to Chapter 2 and made minor editorial changes. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11061 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter01/changelog.xml | 4 + chapter02/chapter02.xml | 3 +- chapter02/hostreqs.xml | 243 +++++++++++++++++++++++++++++++++++++++++++++ chapter02/introduction.xml | 7 +- prologue/hostreqs.xml | 238 -------------------------------------------- prologue/preface.xml | 1 - 6 files changed, 253 insertions(+), 243 deletions(-) create mode 100644 chapter02/hostreqs.xml delete mode 100644 prologue/hostreqs.xml diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index f99e13f6d..2ca396a2c 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -38,6 +38,10 @@ 2016-05-16 + + [bdubbs] - Moved Host System Requirements to Chapter 2 + and made minor editorial changes. + [bdubbs] - Updated to tar-1.29. Fixes #3932. diff --git a/chapter02/chapter02.xml b/chapter02/chapter02.xml index aa62827bb..35d265bb7 100644 --- a/chapter02/chapter02.xml +++ b/chapter02/chapter02.xml @@ -9,9 +9,10 @@ - Preparing a New Partition + Preparing the Host System + diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml new file mode 100644 index 000000000..5e92f8a8b --- /dev/null +++ b/chapter02/hostreqs.xml @@ -0,0 +1,243 @@ + + + %general-entities; +]> + + + + + Host System Requirements + + Your host system should have the following software with the + minimum versions indicated. This should not be an issue for most + modern Linux distributions. Also note that many distributions will + place software headers into separate packages, often in the form of + <package-name>-devel or + <package-name>-dev. Be sure to install those if + your distribution provides them. + + Earlier versions of the listed software packages may work, but have + not been tested. + + + + + Bash-3.2 (/bin/sh + should be a symbolic or hard link to bash) + + + + Binutils-2.17 (Versions + greater than &binutils-version; are not recommended as they have + not been tested) + + + + Bison-2.3 (/usr/bin/yacc + should be a link to bison or small script that executes bison) + + + + Bzip2-1.0.4 + + + + Coreutils-6.9 + + + + Diffutils-2.8.1 + + + + Findutils-4.2.31 + + + + Gawk-4.0.1 (/usr/bin/awk + should be a link to gawk) + + + + GCC-4.7 including the C++ + compiler, g++ (Versions greater than &gcc-version; are + not recommended as they have not been tested) + + On some distributions, there have been reports that some + libraries used by gcc can be in an inconsistent state and that this + interferes with building some LFS packages. To check this, look in + /usr/lib and possibly /usr/lib64 for libgmp.la, libmpfr.la, and + libmpc.la. Either all three should be present or absent, but not only + one or two. If the problem exists on your system, either rename or + delete the .la files or install the appropriate missing + package. + + + + + Glibc-2.11 (Versions + greater than &glibc-version; are not recommended as they have + not been tested) + + + + Grep-2.5.1a + + + + Gzip-1.3.12 + + + + Linux Kernel-&min-kernel; + + The reason for the kernel version requirement is that we specify + that version when building glibc in Chapter 6 + at the recommendation of the developers. It is also required by + udev. + + If the host kernel is earlier than &min-kernel; you will need to replace + the kernel with a more up to date version. There are two ways + you can go about this. First, see if your Linux vendor provides a &min-kernel; + or later kernel package. If so, you may wish to install it. If your + vendor doesn't offer an acceptable kernel package, or you would prefer not to + install it, you can compile a kernel yourself. Instructions for + compiling the kernel and configuring the boot loader (assuming the host + uses GRUB) are located in . + + + + + M4-1.4.10 + + + + Make-3.81 + + + + Patch-2.5.4 + + + + Perl-5.8.8 + + + + Sed-4.1.5 + + + + Tar-1.22 + + + + Texinfo-4.7 + + + + Xz-5.0.0 + + + + + + Note that the symlinks mentioned above are required to build an LFS + system using the instructions contained within this book. Symlinks that + point to other software (such as dash, mawk, etc.) may work, but are not + tested or supported by the LFS development team, and may require either + deviation from the instructions or additional patches to some + packages. + + + + + + + + To see whether your host system has all the appropriate versions, and + the ability to compile programs, run the following: + + +cat > version-check.sh << "EOF" +#!/bin/bash +# Simple script to list version numbers of critical development tools +export LC_ALL=C +bash --version | head -n1 | cut -d" " -f2-4 +MYSH=$(readlink -f /bin/sh) +echo "/bin/sh -> $MYSH" +echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash" +unset MYSH + +echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- +bison --version | head -n1 + +if [ -h /usr/bin/yacc ]; then + echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; +elif [ -x /usr/bin/yacc ]; then + echo yacc is `/usr/bin/yacc --version | head -n1` +else + echo "yacc not found" +fi + +bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- +echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 +diff --version | head -n1 +find --version | head -n1 +gawk --version | head -n1 + +if [ -h /usr/bin/awk ]; then + echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; +elif [ -x /usr/bin/awk ]; then + echo awk is `/usr/bin/awk --version | head -n1` +else + echo "awk not found" +fi + +gcc --version | head -n1 +g++ --version | head -n1 +ldd --version | head -n1 | cut -d" " -f2- # glibc version +grep --version | head -n1 +gzip --version | head -n1 +cat /proc/version +m4 --version | head -n1 +make --version | head -n1 +patch --version | head -n1 +echo Perl `perl -V:version` +sed --version | head -n1 +tar --version | head -n1 +makeinfo --version | head -n1 +xz --version | head -n1 + +echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c +if [ -x dummy ] + then echo "g++ compilation OK"; + else echo "g++ compilation failed"; fi +rm -f dummy.c dummy +EOF + +bash version-check.sh + + Also check for some library consistency: + +cat > library-check.sh << "EOF" +#!/bin/bash +for lib in lib{gmp,mpfr,mpc}.la; do + echo $lib: $(if find /usr/lib* -name $lib| + grep -q $lib;then :;else echo not;fi) found +done +unset lib +EOF + +bash library-check.sh + +The files identified by this script should be all present +or all absent, but not only one or two present. + + + + diff --git a/chapter02/introduction.xml b/chapter02/introduction.xml index 11e4e1883..007bdad8b 100644 --- a/chapter02/introduction.xml +++ b/chapter02/introduction.xml @@ -10,8 +10,9 @@ Introduction - In this chapter, the partition which will host the LFS system is - prepared. We will create the partition itself, create a file system - on it, and mount it. + In this chapter, the host tools needed for building LFS + are checked and, if necessary, installed. Then a partition which will + host the LFS system is prepared. We will create the partition + itself, create a file system on it, and mount it. diff --git a/prologue/hostreqs.xml b/prologue/hostreqs.xml deleted file mode 100644 index c52f81e0f..000000000 --- a/prologue/hostreqs.xml +++ /dev/null @@ -1,238 +0,0 @@ - - - %general-entities; -]> - - - - - Host System Requirements - - Your host system should have the following software with the - minimum versions indicated. This should not be an issue for most - modern Linux distributions. Also note that many distributions will - place software headers into separate packages, often in the form of - <package-name>-devel or - <package-name>-dev. Be sure to install those if - your distribution provides them. - - Earlier versions of the listed software packages may work, but has not - been tested. - - - - - Bash-3.2 (/bin/sh - should be a symbolic or hard link to bash) - - - - Binutils-2.17 (Versions - greater than &binutils-version; are not recommended as they have - not been tested) - - - - Bison-2.3 (/usr/bin/yacc - should be a link to bison or small script that executes bison) - - - - Bzip2-1.0.4 - - - - Coreutils-6.9 - - - - Diffutils-2.8.1 - - - - Findutils-4.2.31 - - - - Gawk-4.0.1 (/usr/bin/awk - should be a link to gawk) - - - - GCC-4.7 including the C++ - compiler, g++ (Versions greater than &gcc-version; are - not recommended as they have not been tested) - - On some distributions, there have been reports that some - libraries used by gcc can be in an inconsistent state and that this - interferes with building some LFS packages. To check this, look in - /usr/lib and possibly /usr/lib64 for libgmp.la, libmpfr.la, and - libmpc.la. Either all three should be present or absent, but not only - one or two. If the problem exists on your system, either rename or - delete the .la files or install the appropriate missing - package. - - - - - Glibc-2.11 (Versions - greater than &glibc-version; are not recommended as they have - not been tested) - - - - Grep-2.5.1a - - - - Gzip-1.3.12 - - - - Linux Kernel-&min-kernel; - - The reason for the kernel version requirement is that we specify - that version when building glibc in Chapter 6 - at the recommendation of the developers. It is also required by - udev. - - If the host kernel is earlier than &min-kernel; you will need to replace - the kernel with a more up to date version. There are two ways - you can go about this. First, see if your Linux vendor provides a &min-kernel; - or later kernel package. If so, you may wish to install it. If your - vendor doesn't offer an acceptable kernel package, or you would prefer not to - install it, you can compile a kernel yourself. Instructions for - compiling the kernel and configuring the boot loader (assuming the host - uses GRUB) are located in . - - - - - M4-1.4.10 - - - - Make-3.81 - - - - Patch-2.5.4 - - - - Perl-5.8.8 - - - - Sed-4.1.5 - - - - Tar-1.22 - - - - Texinfo-4.7 - - - - Xz-5.0.0 - - - - - Note that the symlinks mentioned above are required to build an LFS - system using the instructions contained within this book. Symlinks that - point to other software (such as dash, mawk, etc.) may work, but are not - tested or supported by the LFS development team, and may require either - deviation from the instructions or additional patches to some - packages. - - - - - - To see whether your host system has all the appropriate versions, and - the ability to compile programs, run the following: - - -cat > version-check.sh << "EOF" -#!/bin/bash -# Simple script to list version numbers of critical development tools -export LC_ALL=C -bash --version | head -n1 | cut -d" " -f2-4 -MYSH=$(readlink -f /bin/sh) -echo "/bin/sh -> $MYSH" -echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash" -unset MYSH - -echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- -bison --version | head -n1 - -if [ -h /usr/bin/yacc ]; then - echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; -elif [ -x /usr/bin/yacc ]; then - echo yacc is `/usr/bin/yacc --version | head -n1` -else - echo "yacc not found" -fi - -bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- -echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 -diff --version | head -n1 -find --version | head -n1 -gawk --version | head -n1 - -if [ -h /usr/bin/awk ]; then - echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; -elif [ -x /usr/bin/awk ]; then - echo awk is `/usr/bin/awk --version | head -n1` -else - echo "awk not found" -fi - -gcc --version | head -n1 -g++ --version | head -n1 -ldd --version | head -n1 | cut -d" " -f2- # glibc version -grep --version | head -n1 -gzip --version | head -n1 -cat /proc/version -m4 --version | head -n1 -make --version | head -n1 -patch --version | head -n1 -echo Perl `perl -V:version` -sed --version | head -n1 -tar --version | head -n1 -makeinfo --version | head -n1 -xz --version | head -n1 - -echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c -if [ -x dummy ] - then echo "g++ compilation OK"; - else echo "g++ compilation failed"; fi -rm -f dummy.c dummy -EOF - -bash version-check.sh - - Also check for some library consistency: - -cat > library-check.sh << "EOF" -#!/bin/bash -for lib in lib{gmp,mpfr,mpc}.la; do - echo $lib: $(if find /usr/lib* -name $lib| - grep -q $lib;then :;else echo not;fi) found -done -unset lib -EOF - -bash library-check.sh - -The files identified by this script should be all present -or all absent, but not only one or two present. - - - - diff --git a/prologue/preface.xml b/prologue/preface.xml index bd2139857..21317757f 100644 --- a/prologue/preface.xml +++ b/prologue/preface.xml @@ -17,7 +17,6 @@ - -- cgit v1.2.3-54-g00ecf