сборка системы через distcc

Вот ставлю сейчас пару gentoo на более слабые компы и решил попробовать настроить distcc. Долго с настройками возился, пока хоть как-то заработало - нормальных доков как его заставить работать я так и не нашел.

В итоге: есть 2 шустрых компа с gentoo, на которых стоит distcc и принимает заказы на компиляцию. Один i686, другой с x86_64 с cross- пакетами. Также везде есть ccache.

Так вот. Возникли следующие траблы при установке gentoo на более слабый комп через distcc.

[1]. некоторые пакеты, типа apache, unixODBC и т.п. не хотят ставиться еще на стадии configure при использовании cross-compiler на x86_64 (про i686 комп см. пункт 2).
Говорит "checking build system type... Invalid configuration 'i686-pc-linux-': machine 'i686-pc-linux' not recognized", хотя CHOST правильный: i686-pc-linux-gnu.

При этом, в другие пакетах (samba, ntp...) все прекрасно проходит.

Если выключить distcc, то CHOST определяется правильно и все начинает компилироваться.

Как это побороть?

[2]. на машине i686 компиляция вываливается с ошибкой 111 (типа зацикливание, хотя его там быть не может, поскольку в /etc/distcc/hosts прописан только localhost). Самое интересное - это то, что на x86_64 с кросс-помпилером и ccache(!) все прекрасно работает, а конфиги там практически одинаковые.

Включение --loglevel warning ничего внятного на дает - говорит, что отсылаем error 111, а по какой причине не скомпилировло не понятно. Возможно права доступа где-то не те? но я вроде бы все проверил...

p.s. ccache чистая.

[3]. есть некоторые системные пакеты, которые не ставятся через distcc например из-за различий в linux-headers. Возможно ли настроить его так, что в случае ошибки компиляции на удаленном хосте, перебросить задачу на localhost? Иначе не удобно - постоянно приходится следить за процессом :(

Вот конфиг клиентского компа.

Цитата:
# emerge --info
Gentoo Base System version 1.12.5
Portage 2.1.1 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.18-gentoo-r1 i686)
=================================================================
System uname: 2.6.18-gentoo-r1 i686 Intel(R) Celeron(TM) CPU 1200MHz
Last Sync: Tue, 24 Oct 2006 01:48:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python: 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache: 2.3
dev-util/confcache: [Not Present]
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.18
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distcc distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.localnet"
LINGUAS="uk ru en"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://gentoo.localnet/gentoo-portage"
USE="x86 7zip acl acpi alsa apache2 bash-completion berkdb bitmap-fonts cdr clamav cli cracklib crypt cups curl dlloader doc dri dvd dvdr elibc_glibc examples fam ffmpeg flac gd gdbm gnomedb gpm input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kernel_linux libg++ linguas_en linguas_ru linguas_uk live logrotate mailwrapper mbox mp3 mysql ncurses nls nptl nptlonly ntpl ntplonly odbc oggvorbis pam pcre perl php png postfix postgres ppds pppd python readline reflection samba session sndfile snmp spell spl sse ssl subversion svg symlink tcpd tiff truetype-fonts type1-fonts udev unicode usb userland_GNU vhosts video_cards_dummy video_cards_fbdev video_cards_i810 video_cards_i815 video_cards_vesa video_cards_vga xorg zlib"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Цитата:
# cat /etc/make.conf
CFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

USE="unicode ntpl ntplonly fam logrotate symlink python -fortran doc spell acl gdbm odbc gnomedb bash-completion"
USE="$USE usb acpi cdr dvd dvdr live alsa -oss -3dnow -arts sse -sse2"
USE="$USE vhosts samba apache2 curl php gd postgres mysql postfix mailwrapper mbox -ldap snmp clamav"
USE="$USE flac ffmpeg -mikmod svg oggvorbis mp3 sndfile png jpeg tiff"
USE="$USE -tcltk -motif -xinerama -cairo -dynagraph -fontconfig -glitz"
USE="$USE -X -gtk -gnome -qt -kde -x11"
USE="$USE -tetex -chm examples 7zip subversion"

VIDEO_CARDS="dummy fbdev vesa vga i810 i815"

GENTOO_MIRRORS="http://gentoo.localnet"
SYNC="rsync://gentoo.localnet/gentoo-portage"

LINGUAS="uk ru en"
PORTDIR_OVERLAY="/usr/local/portage"

FEATURES="ccache distcc"
MAKEOPTS="-j5"
CCACHE_PREFIX="distcc"

CCACHE_DIR="/opt/tmp/ccache/"
CCACHE_SIZE="1G"

проблема #1

проблема #1 решилась прописыванием в /etc/make.conf строчки:
LIBC=gnu

Причем информации по этому я нигде не нашел: в bugs.gentoo.org было только упоминание про всякие colorgcc (которого у меня не было).

(правда теперь что-то не ставится ничего локально на x86_64, но это уже другая история...)

проблемы #2,3 остались :(

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".