3

很抱歉,标题并没有说明太多,但到目前为止,我不能更具体......

我在网络中有两台Ubuntu 14.04计算机(服务器(谁应该进行编译10.8.1.52),客户端在10.8.1.42. 我distcc通过安装sudo apt-get install distcc并在服务器上使用此配置文件:

>  cat /etc/default/distcc
STARTDISTCC="true"
ALLOWEDNETS="127.0.0.1 10.8.1.0/24"
LISTENER="10.8.1.52"
NICE="10"
JOBS=""
ZEROCONF="false"

而且distccd还在听:

> sudo netstat -taupen | grep distcc
tcp        0      0 10.8.1.52:3632          0.0.0.0:*               LISTEN      122        24182229    32372/distccd 

在客户端,我设置了 DISTCC_HOSTS:

> echo $DISTCC_HOSTS 
10.8.1.52

我知道然后想在客户端(10.8.1.42)上启动编译过程:

make -j100 CC=distcc

这会编译我的代码,但仅在客户端上并且没有分发任何工作(尽管我编译了大约十几个 .cpp 文件)。

有人可以给我一个提示吗?

4

1 回答 1

0

如果您的错误提示distcc found 0 available servers:检查您的防火墙是否确实没有阻止此端口。

distcc 维基

确保允许运行 distcc 的端口上的流量(默认为 3632/tcp)

您还提到您编译了“一打 .cpp 文件”。确保正确设置 g++ 编译器(我假设编译器已安装在您的服务器上):

make -j100 CC=distcc CXX=distcc

在服务器上, distcc 需要到编译器的符号链接。如果它们尚不存在,请尝试此python 脚本。

为了进一步调查,github上的文档说:

如果遇到问题,强烈建议在客户端使用 DISTCC_VERBOSE=1 并在服务器上使用“--log-level debug”。

于 2021-03-19T09:34:22.987 回答