Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Распределённая компиляция: используем distcc  (Прочитано 3250 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dmig

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Пакет distcc предназначен для ускорения компиляции кода за счёт использования всех доступных компьютеров для запуска компиляторов.
Помимо основного предназначения, удобно использовать его, если собираете что-то в виртуальной машине: чтобы не грузить процессор хоста ненужной работой виртуалки, можно перенести компиляцию на хост.

Расскажу на примере сборки ядра в VirtualBox (разные архитектуры + лень, не позволяющая разобраться с вопросом кросс-компиляции):
1) ставим: sudo aptitude install distcc -- на хосте и в виртуалке
2) на хосте правим /etc/default/distcc, разрешаем старт сервиса (STARTDISTCC="true") и запускаем его: sudo service distccd start
3) на клиенте правим /etc/distcc/hosts (или ~/.distcc/hosts), комментируем +zeroconf -- оно вызывает проблемы из-за ipv6 (http://code.google.com/p/distcc/issues/detail?id=42), добавляем адрес родителя (10.0.2.2), при желании через "/" лимит на число заданий.
4) пускаем компиляцию: CC=distcc make, или, в моём случае MAKEOPTS="CC=distcc" make-kpkg ...

Наблюдаем в логе /var/log/distccd.log на хосте процесс компиляции.

ЗЫ инструкция для случая если у виртуалки сетевое подключение типа NAT, в другом случае придётся поиграться с параметрами distccd

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.