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 Unixetc