1

我已经使用 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 。

4

2 回答 2

0

Before you run make-kpkg

export CC=distcc

Which will set the environment variable assuming you're running bash, dash or ksh.

于 2014-12-31T05:39:16.397 回答
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作为普通用户使用SSHfakeroot会带来很多问题,但这是一个单独的对话。

于 2015-10-11T23:40:16.880 回答