对于某些背景,到目前为止,与 LFS 相关的所有内容都有效。在 make-installing glibc 之后,我运行这些命令来进行完整性检查:
echo 'int main(){}' | $LFS_TGT-gcc -xc -
readelf -l a.out | grep ld-linux
完成第一个操作后,我收到此错误:
/mnt/lfs/tools/lib/gcc/x86_64-lfs-linux-gnu/13.2.0/../../../../x86_64-lfs-linux-gnu/bin/ld:找不到/ lib64/ld-linux-x86-64.so.2 内 /mnt/lfscollect2: 错误: ld 返回 1 退出状态
它不应该输出这个。我检查了 lib64 和 ld-linux-x86-64.so.2 是 / 的符号链接库/ld-linux-x86-64.so.2。 /lib/目录下不存在ld-linux-x86-64.so.2。
所以基本上,ld-linux 由于某种原因不存在。我是 LFS 用户,并且我正在正确运行每个命令。 $LFS 变量已设置。这里可能发生了什么?
答案1
解决了!问题是: 几乎全部都$LFS
属于root
,而不是lfs
用户。尝试make install
以lfs
用户身份运行时,我试图写入不属于我的目录。我通过运行解决了这个问题
sudo chown -R lfs $LFS
作为root
。