很抱歉标题并没有说明什么,但到目前为止,我不能说得更具体.
我在一个网络中有两台Ubuntu14.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文件)。
有人能给我个提示吗?
发布于 2021-03-19 09:34:22
如果您的错误是distcc found 0 available servers:检查您的防火墙是否真的没有阻塞这个端口。
确保在运行distcc的端口上允许通信量(默认值为3632/tcp)。
此外,您还提到编译了“十几个.cpp文件”。确保正确设置了g++编译器(假设编译器安装在您的服务器上):
make -j100 CC=distcc CXX=distcc在该服务器上,distcc需要指向编译器的符号链接。如果这个python脚本还不存在,就试试它们。
关于进一步调查,关于github的文件说:
如果遇到问题,强烈建议在客户机上使用DISTCC_VERBOSE=1,在服务器上使用“-日志级调试”。
https://stackoverflow.com/questions/31388261
复制相似问题