尝试使用“Linux From Scratch”指令构建 Linux 发行版时出现 Binutils 2.29 安装错误

尝试使用“Linux From Scratch”指令构建 Linux 发行版时出现 Binutils 2.29 安装错误

我正在尝试构建一个 Linux 发行版Linux From Scratch(LFS)版本 8.1我正在建造它ElementaryOS(基于 Ubuntu),我已经在 Mac 上的 VirtualBox 上安装了它。我对 Linux 有一点经验,所以我知道自己在做什么。

一切都很顺利,直到我第 5.4 节在书中。本节指导如何编译和安装二进制实用程序2.29(书中指示我使用 2.29 版本,因为较新版本尚未经过测试Linux 从头开始)。当我读到这本书的这一部分时,似乎一切都不对劲。以下是我所做的:

按照书上的方法,我准备用这个命令来编译它:

./configure --prefix=/tools            
         --with-sysroot=$LFS        
         --with-lib-path=/tools/lib 
         --target=$LFS_TGT          
         --disable-nls              
         --disable-werror

完成上述操作后,我用 对其进行了编译make。由于我使用的是 64 位机器和系统,因此在编译后,我按照指示执行了此操作:

case $(uname -m) in
  x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;;
esac

然后我执行了make install,这就是我开始遇到问题的地方。终端给了我这个:

make[1]: Entering directory '/media/nathanael/f2f5c607-926f-4931-ba6e-4e4fd6f08eee/build'
/bin/bash ./mkinstalldirs /tools /tools
mkdir -p -- /tools /tools
mkdir: cannot create directory ‘/tools’: File exists
mkdir: cannot create directory ‘/tools’: File exists
Makefile:2466: recipe for target 'installdirs' failed
make[1]: *** [installdirs] Error 1
make[1]: Leaving directory '/media/nathanael/f2f5c607-926f-4931-ba6e-4e4fd6f08eee/build
Makefile:2224: recipe for target 'install' failed
make: *** [install] Error 2

在到达这一点之前,我遇到了几个问题,幸运的是,我设法解决了它们,但这个问题让我很困惑。有什么建议我应该怎么做吗?

我确实在一处偏离了书上的内容。书中让我创建一个名为 的非特权用户,lfs我应该在编译时使用它(这样,意外破坏系统的可能性就会很低)。但我在编译时遇到了问题lfs。我尝试了几种方法让它工作,但发现以管理员身份编译效果最好。希望这不会在长期内造成问题。

任何帮助都将不胜感激。

答案1

看起来构建目录很混乱。

尝试运行make clean

相关内容