vii. 对宿主系统的要求

你的宿主系统应该含有下列软件,并且不低于指出的版本。 这对于现在的大多数Linux发布版都不是问题。 也要注意到, 很多发布版会把软件的头文件放在单独的包里, 经常命名为 “<package-name>-devel” 或 “<package-name>-dev”的样子。 如果你用的发布版提供了它们,一定要安装。

注意,上面提到的构建LFS系统要用到的符号链接的介绍包含在本书中。指向其他软件 (如dash、mawk等)的符号链接可以运行,但是没有被LFS开发团队所测试和支持, 可能会偏离本指南或者需要为某些软件包打补丁。

要查看你的宿主系统是否包含所有的版本适当,有编译程序能力的软件,请运行以下脚本:

cat > version-check.sh << "EOF"
#!/bin/bash
export LC_ALL=C

# Simple script to list version numbers of critical development tools

bash --version | head -n1 | cut -d" " -f2-4
echo "/bin/sh -> `readlink -f /bin/sh`"
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -e /usr/bin/yacc ];
  then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; 
  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 [ -e /usr/bin/awk ];
  then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; 
  else echo "awk not found"; fi
gcc --version | head -n1
/lib/libc.so.6 | head -n1 | cut -d"," -f1
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
echo "Texinfo: `makeinfo --version | head -n1`"
echo 'main(){}' > dummy.c && gcc -o dummy dummy.c
if [ -x dummy ]; then echo "Compilation OK";
  else echo "Compilation failed"; fi
rm -f dummy.c dummy

EOF

bash version-check.sh