Привет.
Я подготовил пакеты QtAda (www.qtada.com), gprbuild, xmlada для дистрибутивов Debian/Ubuntu и Gentoo Linux.
Для Gentoo Linux я создал спецальный оверлэй ada-overlay. В неместь ebuild файлы для
gnat-gcc-4.4.3, gprbuild, xmlada и qtada. Запакованный оверлэй можно скачать отсюда:
https://sourceforge.net/projects/qtada/files/Gentoo/ada-overlay.tar.bz2/download
Для Debian и Ubun Linux я создал .deb пакеты дял gprbuild, xmlada и qtada.
gprbuild package:
https://sourceforge.net/projects/qtada/files/Debian/gprbuild_1.3.0-1_i386.deb/download
xmlada package:
https://sourceforge.net/projects/qtada/files/Debian/libxmlada-dev_4.3.1-1_i386.deb/download
qtada package:
https://sourceforge.net/projects/qtada/files/Debian/qtada-dev_3.0.0-1_i386.deb/download
P.S. Не обращайте внимание на имя проекта, которо отображается при скачивании =)
4/28/2010
4/04/2010
gnat-gcc-4.4.3 в Gentoo Linux.
Кому интересно, я добавил ebuild для компилятора ады gnat-gcc-4.4.3 в gentoo Linux.
Теперь буду его тестировать.
Также планирую обновить пакеты xmlada и добавить пакет gprbuild.
Теперь буду его тестировать.
Также планирую обновить пакеты xmlada и добавить пакет gprbuild.
Распределенная компиляция: Gentoo Ubuntu и distcc
На моей домашней машине стоит Gentoo Linux, а это значит я постоянно там что нибудь компиляю. Так вот я уже много всяких штук перепробовал для ускорения компиляции, таких как ccache, компиляция в оперативной памяти. И вот недавно, в связи с приобретением ноутбука, появилась возможность установить и настроить distcc для распределенной компиляции.
Итак что мы имеем:
1. Desktop :
первые две цифры в версии компилятора были одинаковыми.
Настройка Ubuntu.
Устанавливаем компиляторы и distcc:
sudo apt-get install gcc g++ distcc
Затем добавляем в файл /etc/distcc/hosts адрес хоста, на котором можно запускать кrомпиляцию и через "/" максимальное количество потоков, которое способен принять для компиляции компьютер:
echo "192.168.2.1/2" > /etc/distcc/hosts
Далее нужно настроить демон distcc который будет принимать файлы для компиляции от Desktop компьютера. Для этого редактируем файл /etc/default/distcc где устанавливаем какой интерфейс слушать, сколько работ может принимать хост для компляции и т.д. Вот пример моего файла конфигурации:
STARTDISTCC="true"
ALLOWEDNETS="127.0.0.1 192.168.2.1"
LISTENER="192.168.2.2"
NICE="10"
JOBS="4"
После этого запускаем демон distcc:
/etc/init.d/distcc start
Настройка Gentoo.
Устанавливаем distcc :
emerge -v distcc
Указываем список хостов, на которые передавать данные для компиляции и количество потоков:
/usr/bin/distcc-config --set-hosts "192.168.2.1/2 192.168.2.2/4"
настраиваем демон distcc, добавляя в файл /etc/conf.d/distccd следующие строки:
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.2.2"
DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.2.1"
DISTCCD_OPTS="${DISTCCD_OPTS} --jobs 2"
запускаем distcc:
/etc/init.d/distccd start
Для того, чтобы проверить, что все настроено правильно добавляем в Gentoo в файл /etc/make.conf строчку:
FEATURES="distcc"
и пробуем собрать какой нибудь пакет:
emerge dev-libs/glib
И в то же самое время, смотрим на Ubuntu файл логов distcc. Если все работает нормально, то сообщения должны быть примерно такими:
distccd[5791] (dcc_job_summary) client: 192.168.2.1:55352 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:67ms x86_64-pc-linux-gnu-gcc /var/tmp/ccache/api.tmp.ZION.23853.i
Возможные проблемы.
Я столкнулся со следующей проблемой. В логах на машине с Ubuntu у меня появлялась строчка:
distccd[4506] (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-g++: No such file or directory.
Это сообщение появлялось из за того, что в Gentoo компилятор называется x86_64-pc-linux-gnu-g++ а в Ubuntu x86_64-linux-gnu-g++.
Чтобы это вылечить, нужно создать в каталоге /usr/bin/ символическую ссылку:
ln -s g++ x86_64-pc-linux-gnu-g++
Итак что мы имеем:
1. Desktop :
- AMD Athlon (tm) 64 3000+, 2 гб. оперативной памяти.
- Gentoo Linux x86_64, 2.6.33 - linux kernel, gcc version 4.4.3
- Intel(r) Core(tm) i3 CPU M 330, 2.13GHz, 3 гб. оперативной памяти.
- Ubuntu Linux x86_64, 2.6.33 - linux kernel, gcc version 4.4.3
первые две цифры в версии компилятора были одинаковыми.
Настройка Ubuntu.
Устанавливаем компиляторы и distcc:
sudo apt-get install gcc g++ distcc
Затем добавляем в файл /etc/distcc/hosts адрес хоста, на котором можно запускать кrомпиляцию и через "/" максимальное количество потоков, которое способен принять для компиляции компьютер:
echo "192.168.2.1/2" > /etc/distcc/hosts
Далее нужно настроить демон distcc который будет принимать файлы для компиляции от Desktop компьютера. Для этого редактируем файл /etc/default/distcc где устанавливаем какой интерфейс слушать, сколько работ может принимать хост для компляции и т.д. Вот пример моего файла конфигурации:
STARTDISTCC="true"
ALLOWEDNETS="127.0.0.1 192.168.2.1"
LISTENER="192.168.2.2"
NICE="10"
JOBS="4"
После этого запускаем демон distcc:
/etc/init.d/distcc start
Настройка Gentoo.
Устанавливаем distcc :
emerge -v distcc
Указываем список хостов, на которые передавать данные для компиляции и количество потоков:
/usr/bin/distcc-config --set-hosts "192.168.2.1/2 192.168.2.2/4"
настраиваем демон distcc, добавляя в файл /etc/conf.d/distccd следующие строки:
DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.2.2"
DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.2.1"
DISTCCD_OPTS="${DISTCCD_OPTS} --jobs 2"
запускаем distcc:
/etc/init.d/distccd start
Для того, чтобы проверить, что все настроено правильно добавляем в Gentoo в файл /etc/make.conf строчку:
FEATURES="distcc"
и пробуем собрать какой нибудь пакет:
emerge dev-libs/glib
И в то же самое время, смотрим на Ubuntu файл логов distcc. Если все работает нормально, то сообщения должны быть примерно такими:
distccd[5791] (dcc_job_summary) client: 192.168.2.1:55352 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:67ms x86_64-pc-linux-gnu-gcc /var/tmp/ccache/api.tmp.ZION.23853.i
Возможные проблемы.
Я столкнулся со следующей проблемой. В логах на машине с Ubuntu у меня появлялась строчка:
distccd[4506] (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-g++: No such file or directory.
Это сообщение появлялось из за того, что в Gentoo компилятор называется x86_64-pc-linux-gnu-g++ а в Ubuntu x86_64-linux-gnu-g++.
Чтобы это вылечить, нужно создать в каталоге /usr/bin/ символическую ссылку:
ln -s g++ x86_64-pc-linux-gnu-g++
Подписаться на:
Сообщения (Atom)