构建 LFS:在图形 shell 上使用 make 时出现分段错误

Building LFS: Segmentation fault with make on a graphical shell

我正在按照书中的步骤构建 LFS 系统(7.6 版,但我认为问题与特定版本无关)。在构建工具链(第 5 章)之后,我现在要构建正确的系统(第 6 章)。

但事情是这样的:当我尝试从图形 shell 构建任何包时(在我的例子中是 Lubuntu 桌面环境中的 LXTerminal),我可以解压源代码并使用 ./configure 配置构建,但是在发出 'make' 命令时,我得到一个 Segmentation fault。如果我从文本终端发出相同的命令(例如按 Crtl+F2),它会完美运行。

在这两种情况下:

这让我百思不得其解,因为SSH连接当然也会失败,这才是我真正想做的。

谁能告诉我为什么这两个终端的行为不同?

(作为最后的说明,我尝试使用 su 从我的非 root 用户 ("login shell") 切换到 root 用户 - 并且还以 root 身份完全登录到 GUI)

经过一番认真的谷歌搜索后,我明白了。

图形终端(在图形 shell 上 windows 的终端)和 SSH 会话的共同点是它们使用伪终端 (PTY) 而不是传统终端 ( TTY)。所以我专注于安装实现这些伪终端的虚拟文件系统 devpts。然后我找到 this 答案并尝试绑定挂载 /dev/pts 而不是像书上说的那样做标准挂载:

mount --bind /dev/pts "$CHROOT/dev/pts"

而且成功了!不再出现段错误。