良许Linux教程网 干货合集 Linux系统实现分布式编译

Linux系统实现分布式编译

所谓的分布式编译就是指将源程序通过多台系统一同编译之后的目标程序的技术,下面良许教程网为大家分享一下Linux系统中如何实现分布式编译。

Linux系统实现分布式编译

Linux内核的分布式编译

分布式编译一般通过TCP或SSH等协议将编译任务分配至网络中不同的计算机上,使这些计算机协同完成编译工作。Linux内核可以使用distcc[1]进行分布式编译。

distcc是一个通过网络中的多台计算机对C、C++、Objective C或Objective C++代码进行分布式编译的程序。distcc是一款编译速度快且容易安装的分布式编译工具,它能产生和本地编译一致的编译结果。理论上使用distcc进行分布式编译相对于本地编译的最大加速比为3.0x,但在实际使用中加速比会低于这一理论值。

distcc并不要求所有的机器共享一个文件系统或有同步的时钟,也不要求它们有相同的library或头文件。当安装了交叉编译器时,distcc甚至不需要这些机器有相同的处理器或操作系统。

为了搭建基于distcc的Linux内核分布式编译环境,我们在Ubuntu 18.04环境下首先使用命令下载distcc v3.3.3版:

 wget -O distcc-3.3.3.tar.gz https://codeload.github.com/distcc/distcc/tar.gz/v3.3.3

然后解压源码包:

 tar -xvf distcc-3.3.3.tar.gz

进入distcc-3.3.3目录后,有一个INSTALL文件。打开INSTALL文件,文件里面记录了distcc-3.3.3的安装和配置过程。

在安装distcc-3.3.3之前,我们首先要安装一些依赖项:

 sudo apt-get install gcc make python3 python3-dev libiberty-dev
 sudo apt-get install autoconf

然后进行配置:

 ./autogen.sh
 ./configure

接着进行编译:

 make
 make check

使用make check命令可以看到哪些功能被编译了而哪些没有:

img

安装相关的软件可以使与相关功能有关的选项由NOTRUN变为OK。例如,若发现Gdb_Case选项由于GDB没有安装而为NOTRUN,则可以安装GDB,之后再次运行make check该选项会变为OK。

然后就可以安装了:

 sudo make install
 make installcheck
 sudo update-distcc-symlinks

当安装或卸载编译器时需要再次运行最后一个命令。

至此关于Linux系统分布式编译的教程分享结束,大家有任何问题都可以通过评论区将问题提交给我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部