标签: distcc

是否可以使用distcc构建iPhone设备版本?

据我所知,当我将任何项目从模拟器切换到设备构建配置时,构建不再分布,而是在本地构建.

那么,让Xcode使用分布式构建机制进行设备构建是否有任何神奇之处?任何人都对这个甚至一些实践经验有明确的评价?

除非您了解分布式构建和Xcode的主题,否则请不要进行downvote或close.这不是关于签署分发的noobie问题.

iphone xcode ios distcc

13
推荐指数
1
解决办法
1931
查看次数

Xcode分布式构建失败

我正在尝试使用Xcode进行分布式构建,但是从构建服务器构建时我看到了这个错误(Build Sever是主机,dev机器是客户端).

当我尝试以另一种方式执行此操作时,我能够分发构建(我的Dev机器作为主机,Build Sever作为客户端)

有什么想法吗?

[14:44:47]: Step 2/3 (6m:10s)
[14:44:57]: [Step 2/3] distcc[95606] (dcc_parse_multiplier) ERROR: bad multiplier "/0,lzo,cpp" in host specification
[14:44:57]: [Step 2/3] distcc[95606] (dcc_show_hosts) CRITICAL! Failed to get host list
[14:44:57]: [Step 2/3] /usr/bin/pump: error: pump mode requested, but distcc hosts list does not contain any hosts with ',cpp' option
Run Code Online (Sandbox Code Playgroud)

xcode objective-c distcc

9
推荐指数
1
解决办法
1310
查看次数

可以使用预编译的头文件与distcc一起使用吗?

我有一个大型项目,我已经实现了预编译头.我也希望能够使用distcc.根据谷歌的编码纸4.12节在这里

gcc版本3.3包含一些性能改进,使得distcc不那么直接有用.

一个是预编译头,在读取一组公共头文件后,编译器的内部状态被转储到磁盘.这对于包含大量固定标头集的程序非常有用,其中解析标头占用了大部分编译时间.目前,distcc可以通过将.pch状态文件放在共享文件系统上来支持这一点.未来可能会为distcc添加更好的解决方案.

我不认为使用共享文件系统对我来说是一个很好的解决方案.但后来也提到了一个潜在的补丁,可以更好地将预编译的头文件和distcc一起工作:https://lists.samba.org/archive/distcc/2008q2/003646.html.这将涉及DISTCC_PCH在客户端上设置(或使用编译器选项-fpch-preprocess,请参见此处),并将pch选项添加到DISTCC_HOSTS服务器.我试过这个,但它似乎没有用,所以我怀疑补丁没有集成.

在共享文件系统之上和之上是否支持distcc中的预编译头文件?或者让技术合作的任何合理直接的方式?


更新:我现在有一种情况,我使用预编译头编译为本地构建和distcc构建我强制包括预编译头文件,以便本地和distcc构建两个编译完全相同的源.通过仔细选择预编译头文件,我可以获得比以前快40%的本地调试版本,而distcc构建只会慢大约4%.我希望以某种方式结合预编译的头文件和distcc以获得加速,比如10%或20%,使用distcc构建,只需要相当少的努力和侵入性(加速构建不是我的主要责任,除了在企业环境我能做的事情有限.

gcc precompiled-headers distcc

8
推荐指数
0
解决办法
667
查看次数

如何修复 distcc 错误

我正在尝试让 distcc 在两台机器 CLIENT 和 SERVER 之间工作我“认为”我已经正确设置但我仍然收到此错误

(dcc_build_somewhere) 警告:无法分发,而是在本地运行

没有正在服务器上编译。

我的配置如下

客户端 = 192.168.0.14 服务器 = 192.168.0.15

服务器上的 /etc/default/distcc

 STARTDISTCC="true"
    ALLOWEDNETS="192.168.0.0/24" // Also tried CLIENT IP here
    LISTENER="192.168.0.15" // SERVER IP
    NICE="10"
    JOBS="16"
    ZEROCONF="false"
Run Code Online (Sandbox Code Playgroud)

客户端 - 是的,我知道它当前设置为仅在服务器上编译

DISTCC_HOSTS="192.168.0.15"
/etc/distcc/host set to 192.168.0.15
$HOME/.distcc/host set to 192.168.0.15
Run Code Online (Sandbox Code Playgroud)

命令

make -jx CC=distcc 
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的软件存储库,以查看单个存储库是否存在问题,但无论软件包如何,问题仍然存在。

编辑 未能分发错误是客户端错误。服务器端日志指示

distccd[1046] (dcc_job_summary) 客户端:192.168.0.14:40732 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:94ms gcc certs/system_keyring.c

c c++ gcc distcc

7
推荐指数
1
解决办法
2930
查看次数

是否有公共distcc服务器?

我已经开始使用distcc,我想知道是否有公共distcc服务器,任何人都可以使用?

c c++ cloud distcc

6
推荐指数
0
解决办法
822
查看次数

GHC有类似distcc的工具吗?

GHC有什么工具,比如distcc吗?或者其他更原始的技巧来进行分布式编译?

我发现GHC对版本非常敏感.这是不切实际的,因为GHC还不支持交叉编译吗?

haskell ghc cabal distcc

6
推荐指数
1
解决办法
506
查看次数

使用bitbake进行分布式编译

你知道如何使用分布式bitbake编译构建一个oe项目吗?我想到了distcc.

export PATH=~/distcc/bin:$PATH
make -jn CC=linux-gcc
Run Code Online (Sandbox Code Playgroud)

make会从我指向distcc的路径调用linux-gcc.
distcc会将任务安排到所有已知主机.
-jn将创建make的n6个实例.
它工作正常.
但是现在我想用bitbake来使用distcc.
我知道如何在bitbake中使用-jn.
只是用export PARALLEL_MAKE=-jn

但是如何使用PATH=~/distcc/bin:$PATHbitbake 导出.
在distcc/bin必须站在前面$PATH.
但bitbake会将$PATH_prepend(置于org.openembedded.dev/conf/bitbake.conf中)置于前面$PATH.

或者有人用另一种工具来更好地使用bitbake进行分布式构建?

distributed build distcc bitbake

6
推荐指数
2
解决办法
7347
查看次数

DistCC和CMake - 在运行make时在本地和分布式构建之间进行选择

我的项目是使用CMake构建的,并使用DistCC + GCC编译.我按如下方式配置编译器:

SET(CMAKE_C_COMPILER "distcc variation-of-gcc")
Run Code Online (Sandbox Code Playgroud)

要构建项目,我只需运行' cmake '然后' make -jXX '.

虽然distcc确实加速了事情,但我有时想要在不分发的情况下构建 - 我希望它在机器上本地构建.

我知道我可以修改DISTCC_HOSTS只包含localhost - 但这仍然有distcc网络的开销,虽然它比其他机器的开销更快......我也可以通过再次重新运行cmake并使用自定义标志修改CMAKE_C_COMPILER来做到这一点.

但我正在寻找一种方法,只需将标志直接添加到'make'即可.

I.e.
# This will use distcc:
make -jXX ...
# This will run locally:
make LOCAL_BUILD=1 -jX ...
Run Code Online (Sandbox Code Playgroud)

我可以使用CMake技巧吗?有人可以帮忙吗?

谢谢!奥弗

c++ gcc makefile cmake distcc

6
推荐指数
2
解决办法
3589
查看次数

CMAKE_C_COMPILER不是现有编译器工具的完整路径

我最近浏览了distcc,无法使其正常运行。所以我

sudo apt-get remove distcc
Run Code Online (Sandbox Code Playgroud)

之后,我得到了错误

==> Processing catkin package: 'gencpp'
==> Building with env: '/opt/ros/kinetic/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/home/pi/ros_catkin_ws/build_isolated/gencpp'
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
  The CMAKE_C_COMPILER:

    /usr/local/bin/cc

is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to …
Run Code Online (Sandbox Code Playgroud)

gcc makefile g++ distcc

6
推荐指数
1
解决办法
1万
查看次数

使用distcc在Ubuntu上的i686系统上交叉编译x86_64

我正在尝试使用distcc在家中设置一个小型构建集群.有两个x64系统和一个i686系统.所有系统都运行Ubuntu 10.10并且是最新的.启动构建的系统是x64.Distcc在两个x64系统之间工作正常,但发送到i686系统的所有构建任务都失败了.

至今:

  • 我在该系统上安装了g ++的multilib包.我可以使用在本地交叉编译到x64g++ -m64
  • 更改了链接/usr/lib/distcc/g++以指向明确设置-m64参数的脚本.

有什么建议?

c++ linux 32bit-64bit ubuntu-10.10 distcc

5
推荐指数
1
解决办法
4381
查看次数