Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Compile farm
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Server farm set up to compile computer programs remotely}} {{more citations needed|date=December 2011}} A '''compile farm''' is a [[server farm]], a collection of one or more [[server (computing)|servers]], which has been set up to compile [[computer programs]] remotely for various reasons. Uses of a compile farm include: * ''[[Cross-platform|Cross-platform development]]'': When writing [[software]] that runs on multiple processor [[Computer architecture|architectures]] and [[operating system]]s, it can be infeasible for each [[Software developer|developer]] to have their own machine for each architecture — for example, one [[Computing platform|platform]] might have an expensive or obscure type of [[CPU]]. In this scenario, a compile farm is useful as a tool for developers to build and [[Software testing|test]] their software on a shared server running the target operating system and CPU. Compile farms may be preferable to [[cross compiler|cross-compilation]] as cross compilers are often complicated to configure, and in some cases compilation is only possible on the target, making cross-compilation impossible. * ''Cross-platform [[continuous integration]] testing'': in this scenario, each server has a different processor architecture or runs a different operating system; [[script (computer programming)|script]]s automatically build the latest version of a source tree from a [[version control]] repository. One of the difficulties of cross-platform development is that a programmer may unintentionally introduce an error that causes the software to stop functioning on a different CPU/OS platform from the one they are using. By using a cross-platform compile farm, such errors can be identified and fixed. * ''Distributed compilation'': Building software packages typically requires operations that can be run in parallel (for example, compiling individual source code files). By using a compile farm, these operations can be run in parallel on separate machines. An example of a program which can be used to do this is [[distcc]]. One example of a compile farm was the service provided by [[SourceForge]] until 2006. The SourceForge compile farm was composed of twelve machines of various [[computer architectures]] running a variety of [[operating systems]], and was intended to allow developers to test and use their programs on a variety of platforms before releasing them to the public. After a [[power spike]] destroyed several of the machines<ref>{{cite web |url=http://sitedocs.sourceforge.net/status/support_cfstatus.html |title= SourceForge.net|website=sitedocs.sourceforge.net |archive-url=https://web.archive.org/web/20080919010500/http://sitedocs.sourceforge.net/status/support_cfstatus.html |archive-date=September 19, 2008}}</ref> it became non-operational some time in 2006, and was officially discontinued<ref>{{cite web |url=https://blog.des.no/2007/05/end-of-sourceforge-as-we-know-it/ |title=The end of SourceForge as we know it |last=Smørgrav |first=Dag-Erling |date=May 20, 2007 |website=May Contain Traces of Bolts |access-date=May 18, 2018 |quote=the compile farm is no more. SourceForge discontinued it in February, without warning |archive-url=https://web.archive.org/web/20180518165431/https://blog.des.no/2007/05/end-of-sourceforge-as-we-know-it/ |archive-date=May 18, 2018 |url-status=live}}</ref> in February 2007. Other examples are: * [[GCC Compile Farm]] https://gcc.gnu.org/wiki/CompileFarm * [[OpenSUSE Build Service]] * [[FreeBSD]] reports service which lets package maintainers test their own changes on a variety of versions and architectures. * Launchpad Build Farm https://launchpad.net/builders * Mozilla has a build farm, but it is not public https://wiki.mozilla.org/ReleaseEngineering * Debian has a build farm https://buildd.debian.org/ * [https://www.opencsw.org/extend-it/signup/to-upstream-maintainers/ OpenCSW build farm] for Solaris x86 and Sparc ==References== {{Reflist}} [[Category:Cluster computing]] [[Category:Servers (computing)]] {{Comp-sci-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Comp-sci-stub
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)