|
|
Возраст: 35 C нами с 04.02.2005 Репутация: 121.3
|
|
Поставил 4.1.3, при этом не удалял 4.2.3. Чтобы им воспользоваться, нужно установить CXX=g++-4.1 . Пока временно выключил демон, так как надо получше разобраться с вопросом безопасности (есть подозрение, что можно удаленно выполнить произвольную команду под юзером distccd, чего не очень хотелось бы).
|
|
|
|
|
|
|
|
C нами с 09.04.2005 Репутация: 0.1
|
|
ZoRG, хорошо, вечром доустановлю нужные пакеты. В общем конечно не очень хорошо, что такие проблемы с gcc компиляторами.
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
DALDON, а как иначе? Там же меняется формат передачи параметров функций даже. Если даже он объектный файл получит, ld ничего не сможет сделать ил же полученное работать в любом случае не будет.
P.S. конечно можно обновить до 4.3 - дома система стоит чисто на 4.3 - всё замечательно работает, правда часть пришлось из нестабильного ставить, чтобы собралось.
|
|
|
|
|
|
|
|
C нами с 09.04.2005 Репутация: 0.1
|
|
splav, ну потяно дело коненчо. К любой программе как правило указываеться необходимая версия компилятора gcc... Но как правило конечно это дело обратно совместимо.
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
DALDON, так оно и совместимо, но собрать часть gcc 4.1.*, часть 4.3.* а часть 4.2.* и всё это слинковать - работать естественно не будет.
|
|
|
|
|
|
|
|
C нами с 09.04.2005 Репутация: 0.1
|
|
А ну точно... Это очень не есть хорошо, значит для использования Ситсемы надо убедиться, что у всех машин-помощников одна версия компилятора, что есть трудоёмкий процесс. Который не стоит того времени которое выиграешь от компиляции таким образом если не большое приложение. Хотя я думаю, что есть какое-либо решение вопроса чтобы помощники выбирались сами исходя из версии gcc.
|
|
|
|
|
|
|
|
Возраст: 42 C нами с 08.04.2005 Репутация: 96.5
|
|
Отдам на растерзание АМД Феном Х4 2.3 ГГц, работает в основном днём (idle 100%).
От вас - список пакетов, которые надо установить, и настройки.
ОС - федора 9 i386.
|
_____________________________
в следующей жизни мечтаю стать сиденьем на женском велосипеде
|
|
|
|
|
|
|
Возраст: 35 C нами с 04.02.2005 Репутация: 121.3
|
|
Все, запустил снова демон, на этот раз под chroot'ом. gcc & g++ 4.1 и 4.2, компилит 32- и 64-битный код.
|
|
|
|
|
|
|
|
Возраст: 37 C нами с 14.10.2004 Репутация: 94.1
|
|
DALDON писал(а): |
Хотя я думаю, что есть какое-либо решение вопроса чтобы помощники выбирались сами исходя из версии gcc.
|
Ну, например, можно просто договориться, что у всех, кто расшаривает distcc в /opt/distcc_gcc стоит какая-то единая версия компилятора. Тогда проблем не будет.
снеговик писал(а): |
Отдам на растерзание АМД Феном Х4 2.3 ГГц, работает в основном днём (idle 100%).
От вас - список пакетов, которые надо установить, и настройки.
ОС - федора 9 i386.
|
Не знаю как в федоре, но для Ubuntu я описал процесс установки - http://unsorted.ru/viewtopic.php?p=565735#565735 . Думаю, там пакеты так же называются.
|
|
|
|
|
|
|
|
C нами с 09.04.2005 Репутация: 0.1
|
|
ZoRG, ну давайте, how-to как ставить туда компилятор, и как его туда прикрутить. И я думаю, что будет отлично всё.
apt-get install build-essential кстати сделал, можно снова попробывать.
|
|
|
|
|
|
|
|
Возраст: 37 C нами с 14.10.2004 Репутация: 94.1
|
|
DALDON писал(а): |
apt-get install build-essential кстати сделал, можно снова попробывать.
|
Теперь отлично работает.
DALDON писал(а): |
ZoRG, ну давайте, how-to как ставить туда компилятор, и как его туда прикрутить. И я думаю, что будет отлично всё.
|
Думаю, к примеру,apt-get install gcc-4.1 g++-4.1
ln -s /usr/bin/gcc-4.1 /opt/distcc_gcc
ln -s /usr/bin/g++-4.1 /opt/distcc_g++ | вполне будет достаточно.
|
|
|
|
|
|
|
|
C нами с 09.04.2005 Репутация: 0.1
|
|
ZoRG, ну и славненько, не думал, что всё так банально.
Ну в общем можно пользоваться.
chaser, ZoRG, а в правду велика возможность удалённого исполнения кода из-под пользователя distcc..?
Если реально есть опасность то может есть смысл и в правду в chroot запускать..?
chaser, ну тоже можно в таком случае how-to.
И потом можно забабахать в верхнее сообщение топика всё это дело, чтобы мог присоединиться любой желающий к нам.
|
|
|
|
|
|
|
|
Возраст: 35 C нами с 04.02.2005 Репутация: 121.3
|
|
DALDON писал(а): |
ZoRG, ну и славненько, не думал, что всё так банально.
Ну в общем можно пользоваться.
chaser, ZoRG, а в правду велика возможность удалённого исполнения кода из-под пользователя distcc..?
Если реально есть опасность то может есть смысл и в правду в chroot запускать..?
chaser, ну тоже можно в таком случае how-to.
|
Вот тут написано, что эта возможность есть:
http://distcc.samba.org/security.html
Как сделать chroot:
1) Ставим "игрушечную" систему:
sudo apt-get install debootstrap
sudo mkdir /somewhere/distcc
sudo debootstrap lenny /somewhere/distcc
2) Если в системе нет пользователя distccd, добавляем его:
sudo adduser —system —no-create-home —ingroup nogroup —disabled-password —disabled-login distccd
3) Идем в "игрушечную" систему и ставим там все нужное (Осторожно, трафик!):
sudo chroot /somewhere/distcc
apt-get update
apt-get install distcc g++-4.1 g++-4.2
exit
4) Смотрим ID юзера distccd:
id -u distccd
и меняем на него соответствующий ID в файле /somewhere/distcc/etc/passwd
5) Если distcc не установлен в основной системе:
sudo cp /somewhere/distcc/etc/init.d/distcc /etc/init.d/distcc
sudo cp /somewhere/distcc/etc/default/distcc /etc/default/distcc
6) Редактируем /etc/init.d/distcc должным образом (можно взять мой вариант из аттачмента, поправив в нем переменную CHROOT_PATH)
7) Редактируем /etc/default/distcc по вкусу
8) Если distcc не установлен в основной системе, добавляем инит-скрипт:
sudo chmod +x /etc/init.d/distcc
sudo update-rc.d distccd defaults
Наверняка что-то забыл)
P. S.: тут форум заменил все двойные дефисы на тире, так что при копировании в терминал будьте бдительны (во 2-м пункте)
|
distccd-chroot init script
distcc.txt - 2.91 Kб
Скачиваний: 3
|
|
|
|
|
|
|
Возраст: 37 C нами с 14.10.2004 Репутация: 94.1
|
|
chaser, спасибо за HowTo. Никогда раньше подобными вещами не занимался и не думал, что есть способ так быстро создать систему-песочницу - может потом пригодиться для сборки пакетов.
|
|
|
|
|
|
|
|
Возраст: 37 C нами с 14.10.2004 Репутация: 94.1
|
|
Вообщем в таком случае предлагаю всем для distcc использовать версию gcc-4.1, как наиболее распространенную среди всех нас, и в таком случае просьба сделать ссылкиln -s /usr/bin/gcc-4.1 /opt/distcc_gcc
ln -s /usr/bin/g++-4.1 /opt/distcc_g++ | чтобы на всех компьютерах до него можно было добраться по одному адресу. А то получается полная неразбериха с путями - на offline.progtech.ru, daldon.progtech.ru и chaser.progtech.ru компилятор лежит в /usr/bin/g++-4.1, а на unsorted.ru и zapas.progtech.ru в /usr/bin/g++-4.1.2.
|
|
|
|
|
|
|
|