如何在泵模式下启动 DITCC



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

OS?

我在 Debian/jessie64 上启动并运行了它,这很辛苦:(

PUMP 不适用于提供的包(python 版本不匹配左右),所以我决定从源代码编译它。

安装依赖项:

sudo apt-get install gcc make python python-dev libiberty-dev

尝试了几次,我对一些未使用的参数有误。.

./autogen.sh
./configure

编辑生成文件和注释WERROR_CFLAGS = -错误

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 地址......

使用双核从站和双核主站的结果:make -j8 CC=distcc16 秒泵制造 -j8 CC=distcc14 秒

没有distcc20 秒所以没那么多...

但是,如果您有一个全职开发团队,那就总结了!

例如 Xsec保存/编译 * 一天编译 * 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/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"

相关内容

  • 没有找到相关文章

最新更新