v. 宿主系统要求

你的宿主系统应该有下列软件,并满足其最低版本要求。对于现在大部分 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-7
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
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

Host by Alair