出售域名  LinuxTags

5.3. 通用编译指南

编译软件包时本指南中有几个假定:

  • 有几个软件包在编译之前需要打补丁来规避一些问题。有的补丁会在本章和下一章中都需要,但有时候只有其中一章会需要,因此,如果某章看起来缺少某个补丁的下载说明时不用担心。安装补丁的时候也许会遇到关于 offset 或者 fuzz 的警告信息。别担心这些警告,补丁还是会成功安装的。

  • 在大部分软件包的编译过程中,屏幕上都可能出现几个警告。这都很正常,可以安全地忽略。这些警告正如它们描述的那样,是对使用过时的 C 或 C++ 语法的警告,而不是这些语法不可用。C 语言的标准经常改变,一些软件包仍然在使用旧的标准。这并不是一个问题,虽然确实会弹出警告。

  • 最后确认一次是否正确设置了 LFS 环境变量:

    echo $LFS

    确认输出显示的是 LFS 分区挂载点的路径,在我们的例子中也就是 /mnt/lfs

  • 最后,必须强调两个重要的点:

    [重要]

    重要

    编译指南假定你已经正确地设置了宿主系统需求和符号链接:

    • shell 使用的是 bash

    • sh 是到 bash 的符号链接。

    • /usr/bin/awk 是到 gawk 的符号链接。

    • /usr/bin/yacc 是到 bison 的符号链接或者一个执行 bison 的小脚本。

    [重要]

    重要

    再次强调构建过程:

    1. 把所有源文件和补丁放到 chroot 环境可访问的目录,例如 /mnt/lfs/sources/。但是千万不能把源文件放在 /mnt/lfs/tools/ 中。

    2. 进入到源文件目录。

    3. 对于每个软件包:

      1. tar 程序解压要编译的软件包。在第五章中,确保解压软件包时你使用的是 lfs 用户。

      2. 进入到解压后创建的目录中。

      3. 根据指南说明编译软件包。

      4. 回退到源文件目录。

      5. 除非特别说明,删除解压出来的目录和所有编译过程中生成的 <package>-build 目录。

host by nrdoc.com CDN 

出售域名  LinuxTags