我试图在泵模式下启动distcc,但由于未知原因,它无法分发预处理任务。因此,我已经卸载了与distcc相关的所有内容,并希望重新启动所有内容,从开始到泵模式启动和运行distcc。 所以告诉我: 需要安装什么包? 为了在泵模式下启动distcc,需要设置哪些环境变量?
答案 0 :(得分:0)
OS?
我在Debian / jessie64上运行并运行起来很辛苦:(
PUMP没有使用提供的软件包(python-version不匹配等),所以我决定从源代码编译它。
安装依赖项:
sudo apt-get install gcc make python python-dev libiberty-dev
尝试了几次,我得到了一些未使用的参数的错误..
./autogen.sh
./configure
编辑Makefile和评论 WERROR_CFLAGS = -Werror
make
sudo make install
每个客户端上的(您要从哪里开始编译) 编辑〜/ .distcc / hosts
localhost,cpp,lzo anotherhost,cpp,lzo
cpp启用泵模式,这需要 lzo压缩
在每个服务器上(编译从站) - 机器可以是两者!
distccd --deamon --listen IPOFMACHINE --allow IP_OR_NET
我在使用Debian软件包时遇到问题,当listen没有指定机器的IP地址时......
使用DualCore Slave和DualCore Master的结果: make -j8 CC = distcc 16秒 pump make -j8 CC = distcc 14秒
没有distcc 20秒 所以没那么多......
但如果你有一个全职的开发团队,它总结了一下!
e.g。 XsecSaved / compile * Y编译一天* 20天/月
即使是小值:X = 2且Y = 30 => 20分钟/开发人员/月,有足够的时间在distcc或ccache上投入一点点。
如果您尝试使用提供的软件包,可以在/ etc / default / distcc中找到该服务的配置
答案 1 :(得分:0)
我使用mac作为主人和debian作为salve。 distcc版本distcc-3.2rc1,并确保你在master和salve上都有相同的版本。 使用这些参数来构建distcc
./autogen.sh
./configure --disable-Werror
make -s 2>Logs
make install
普通模式
没有问题就成功了。除了我镜像矿源代码的绝对路径以分发编译,这是一种肮脏的作品。
泵模式
可能与include_server有关。某些选项标志将导致包含服务器无法分析。在这种情况下,您将无法将任何头文件泵送到包含服务器,因此,salves无法递归地包含它们。您必须在include_server / parse_commands.py中添加一些选项标志,以便在泵上设置包含服务器。
可能会显示一些您登录的/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"