为什么在 Linux 中从头开始它们要传递--prefix=/usr
给配置脚本?例如,这是glibc
配置脚本
../configure \
--prefix=/usr \
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
--enable-kernel=3.2 \
--with-headers=$LFS/usr/include \
libc_cv_slibdir=/usr/lib
难道不应该是--prefix=$LFS/usr
这样它安装在那里而不是在主机系统中吗/usr
?
答案1
参数--prefix
决定configure
编译的程序应该在哪里预计待安装。最终目标是拥有一个/usr
包含正在构建的程序的系统,因此它们的配置预期将从/usr
.
/usr
从主机系统的角度来看,安装本身并不一定要发生。在 LFS 中,构建和安装无论如何都是在 chroot 中完成的;在其他情况下,安装本身是通过前缀(例如 使用DESTDIR
)。