Compilation 如何在泵模式下启动distcc

Compilation 如何在泵模式下启动distcc,compilation,distributed-computing,distcc,Compilation,Distributed Computing,Distcc,我曾尝试在泵模式下启动distcc,但由于未知原因,它无法分发预处理任务。因此,我已经卸载了与distcc相关的所有内容,并希望从一开始就重做,以使distcc在泵模式下启动并运行。 那么告诉我: 需要安装哪些软件包? 在泵模式下启动distcc需要设置哪些环境变量?OS 我在Debian/jessie64上安装并运行了它,这是一项艰苦的工作:( PUMP不能和提供的包一起工作(python版本不匹配等等),所以我决定从源代码处编译它 安装依赖项: sudo apt-get install gc

我曾尝试在泵模式下启动distcc,但由于未知原因,它无法分发预处理任务。因此,我已经卸载了与distcc相关的所有内容,并希望从一开始就重做,以使distcc在泵模式下启动并运行。 那么告诉我: 需要安装哪些软件包? 在泵模式下启动distcc需要设置哪些环境变量?

OS

我在Debian/jessie64上安装并运行了它,这是一项艰苦的工作:(

PUMP不能和提供的包一起工作(python版本不匹配等等),所以我决定从源代码处编译它

安装依赖项:

sudo apt-get install gcc make python python-dev libiberty-dev
尝试了几次后,我发现一些未使用的参数出现了错误

./autogen.sh
./configure
编辑Makefile和注释 WERROR\u CFLAGS=-WERROR

make
sudo make install
在每个客户机上(您要从中开始编译) 编辑~/.distcc/hosts

localhost,cpp,lzo anotherhost,cpp,lzo
cpp启用泵模式,这需要 lzo压缩

在每台服务器上(编译从机)--机器可以是两台

distccd --deamon --listen IPOFMACHINE --allow IP_OR_NET
当listen没有指定机器的IP地址时,我在使用Debian软件包时遇到了问题

我使用DualCore从机和DualCore主机的结果: make-j8 CC=distcc 16秒 泵品牌-j8 CC=distcc 14秒

无distcc 20秒 所以没那么多

但是,如果你有一个全职的开发团队,这就是总结

e、 g.XsecSaved/compile*Y每天编译文件*20天/月

即使是很小的值:X=2和Y=30=>20分钟/开发者/月,也足以在distcc或ccache上投入一点时间


如果您试图使用提供的软件包,可以在/etc/default/distcc中找到该服务的配置。我使用mac作为主程序,使用debian作为辅助程序。 distcc版本distcc-3.2rc1,并确保主控和副控上的版本相同。 使用这些参数来构建distcc

./autogen.sh
./configure --disable-Werror
make -s 2>Logs
make install
普通模式

毫无疑问是成功的。除了我镜像了我源代码的绝对路径以分发编译,这是一种肮脏的工作

泵模式

include_server可能有问题。某些选项标志将导致include server无法分析。在这种情况下,您将无法向include server泵送任何头文件,因此,salves无法递归包含它们。您必须在include_server/parse_commands.py中添加一些选项标志,以便设置include泵上的服务器

可能在/var/log/daemon.log或/var/log/distccd.log中显示一些日志会更好地帮助您

如果这些目录中没有日志文件,请编辑/etc/init.d/distcc

DAEMON_ARGS="--pid-file=/var/run/$NAME.pid --log-level=info --log-file=/var/log/$NAME.log --    verbose --daemon"