我使用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。
答案 0 :(得分:0)
在运行make-kpkg之前
export CC=distcc
假设您正在运行bash,dash或ksh,那么将设置环境变量。
答案 1 :(得分:0)
使用伪装目录并在运行PATH
之前将其添加到make-kpkg
。 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++
确保在构建之前将masquerade目录添加到PATH
,因此在系统编译器之前找到distcc
符号链接:
export PATH="/usr/lib/distcc/bin:$PATH"
fakeroot make-kpkg --initrd --append-to-version=.<Unique Identifier> kernel-image
这应该可以解决您所看到的问题。使用distcc
作为普通用户使用fakeroot
var pack = { commentData : serializedCommentData, json: jsonString }
会遇到问题,但这是一个单独的对话。