>我已经使用distcc使用"make -j8 CC=distcc"命令对几个软件包进行分布式编译。它工作正常。但是为了通过编译内核源代码来创建 debian 软件包,我们使用 "make-kpkg" 命令来构建.deb文件。对于make-kpkg
,我不能使用"CC=distcc"(这将调用分布式编译)。要构建,我使用以下命令:
fakeroot make-kpkg --initrd --append-to-version=.<Unique Identifier> kernel-image
所以建议我并纠正我,我如何在上面的命令中使用 distcc。
在你运行 make-kpkg 之前
export CC=distcc
这将设置环境变量,假设您正在运行 bash、dash 或 ksh。
在运行 make-kpkg
之前,使用伪装舞会目录并将其附加到PATH
。distcc
手册页对设置进行了如下解释:
mkdir /usr/lib/distcc/bin
cd /usr/lib/distcc/bin
ln -s ../../../bin/distcc gcc
ln -s ../../../bin/distcc cc
ln -s ../../../bin/distcc g++
ln -s ../../../bin/distcc c++
确保在构建之前将伪装目录添加到PATH
,以便在系统编译器之前找到distcc
符号链接:
export PATH="/usr/lib/distcc/bin:$PATH"
fakeroot make-kpkg --initrd --append-to-version=.<Unique Identifier> kernel-image
这应该可以解决您看到的问题。作为具有fakeroot
的普通用户,通过SSH使用distcc
会带来自己的问题,但这是一个单独的对话。