Changes between Version 10 and Version 11 of WebKitGTK/SpeedUpBuild


Ignore:
Timestamp:
Feb 14, 2014 5:58:27 AM (10 years ago)
Author:
Andres Gomez
Comment:

Added more details about icecc compilation

Legend:

Unmodified
Added
Removed
Modified
  • WebKitGTK/SpeedUpBuild

    v10 v11  
    202202== icecc ==
    203203
    204 [https://github.com/icecc/icecream Icecream] was created by SUSE based on distcc. Like distcc, Icecream takes compile jobs from a build and distributes it among remote machines allowing a parallel build. But unlike distcc, Icecream uses a central server that dynamically schedules the compile jobs to the fastest free server. This advantage pays off mostly for shared computers, if you're the only user on x machines, you have full control over them.
    205 
    206 === icecc scheduler ===
    207 
    208  * Install it:
    209 {{{
    210 #!sh
    211 $ sudo apt-get install icecc
    212 }}}
    213 
    214  * Configure scheduler to start by default (see `/usr/share/doc/icecc/README.Debian`):
    215 {{{
    216 #!sh
    217 $ sudo update-rc.d icecc-scheduler enable
    218 }}}
    219 
    220 Some considerations:
     204[https://github.com/icecc/icecream Icecream] was created by SUSE based on distcc. Like distcc, Icecream takes compile jobs from a build and distributes it among remote machines allowing a parallel build. But unlike distcc, Icecream uses a single central server called scheduler that dynamically assigns the compile jobs to multiple distributed daemons, choosing the fastest free one. This advantage pays off mostly for shared computers, if you're the only user on x machines, you have full control over them.
    221205 * You should have only one scheduler in your network.
    222206 * The scheduler and one of the daemons can be in the same host.
    223207
     208=== Installing ===
     209
     210 * Execute:
     211{{{
     212#!sh
     213$ sudo apt-get install icecc
     214}}}
     215
     216 * You can install icecc monitor too:
     217{{{
     218#!sh
     219$ sudo apt-get install icecc-monitor
     220}}}
     221
     222
     223=== icecc scheduler ===
     224
     225 * Configure scheduler to start by default (see `/usr/share/doc/icecc/README.Debian`):
     226{{{
     227#!sh
     228$ sudo update-rc.d icecc-scheduler enable
     229}}}
     230
     231 * After configuring the scheduler to start, it will do so on next reboot, but not sooner. You can start it manually:
     232   * Ubuntu
     233{{{
     234#!sh
     235$ sudo service icecc restart
     236}}}
     237   * Debian
     238{{{
     239#!sh
     240$ sudo service icecc-scheduler start
     241}}}
     242
     243
    224244=== icecc daemon(s) ===
    225245
    226  * Install it:
    227 {{{
    228 #!sh
    229 $ sudo apt-get install icecc
    230 }}}
    231 
    232  * You can install icecc monitor too:
    233 {{{
    234 #!sh
    235 $ sudo apt-get install icecc-monitor
     246 * iceccd (daemon) has to be able to find the scheduler in the network. By default, it makes so by sending a broadcast message. This may not work depending on your network topology (routers, firewalls, etc.). You can specify the actual address of the icecc-scheduler by stating it in the icecc config file:
     247{{{
     248#!sh
     249$ cat /etc/icecc/icecc.config
     250...
     251#
     252# If the daemon can't find the scheduler by broadcast (e.g. because
     253# of a firewall) you can specify it.
     254#
     255# ICECC_SCHEDULER_HOST=""
     256ICECC_SCHEDULER_HOST="<icecc-scheduler IP or host name>"
     257...
     258}}}
     259
     260 * Also, you may not want your local icecc daemon to run works from other hosts. For example, I want my laptop to be helped by my tower but I don't want my laptop to take works from my tower:
     261{{{
     262#!sh
     263$ cat /etc/icecc/icecc.config
     264...
     265#
     266# Specifies whether jobs submitted by other nodes are allowed to run on
     267# this one.
     268#
     269# ICECC_ALLOW_REMOTE="yes"
     270ICECC_ALLOW_REMOTE="no"
     271...
    236272}}}
    237273