Использование distcc при кросскомпиляции
Здравствуйте
есть вопрос. Раньше как то не обращал внимание, тут на днях обратил...
Собраный кросстулчейн имеет отличае в USE флагах относительно тулчейна, под который он собран
то что есть щаз(написаны только активные флаги):
тулчейн sys-libs/glibc-2.9_p20081201-r1 USE="(multilib) nls" sys-devel/gcc-4.3.2 USE="(multilib) nls" sys-kernel/linux-headers-2.6.28-r1 sys-devel/binutils-2.19 USE="nls"
кросстулчейн cross-x86_64-pc-linux-gnu/glibc-2.9_p20081201-r1 USE="" cross-x86_64-pc-linux-gnu/gcc-4.3.2 USE="" cross-x86_64-pc-linux-gnu/linux-headers-2.6.28-r1 cross-x86_64-pc-linux-gnu/binutils-2.19 USE="nls"
При попытке выставить такие же USE есть 2 варианта
Прописываю недостающие USE(nls multilib) в package.use для этих пакетов или в make.conf
1)получаю пересборку кросстулчейна и один измененый флаг:
cross-x86_64-pc-linux-gnu/gcc-4.3.2 USE="nls"
либо
2)получаю пересборку world и 2 измененных флага
cross-x86_64-pc-linux-gnu/gcc-4.3.2 USE="nls" cross-x86_64-pc-linux-gnu/glibc-2.9_p20081201-r1 USE="nls"
Про USE ни в distcc HOWTO, ни в distcc crosscompilling HOWTO ничего не упоминается
Соответветственно есть несколько собственных мыслей на этот счет.
Для ясности обозначу: сервер - источник задачи, клиент - приемник чужой задачи(в документации дается обратное обозначение!).
Оказывает ли влияние различие в USE на результат компиляций?
факт: crossdev сам записывает в package.use некий набор USE(отключает некоторые флаги). Те флаги, что не определены crossdev могут быть изменены самостоятельно.
Есть 3 варианта событий:
а) USE-флаг: на сервере - вкл, на клиенте - выкл.
Компилятор клиента компилирует только тот код, который умеет. Тот код, который клиент не умеет компилировать(из-за отсутствующих USE) выполняется на сервере.
б) USE-флаг: на сервере - выкл, на клиенте - вкл.
Компилятор клиента умеет компилировать весь код сервер. Соответветственно весь код, который возможно компилировать распределенно, компилируется распределенно.
в) В результате компиляции с представленными выше различиями получаются различные результаты компиляций, что в итоге может вызвать ошибки сборки, а так же впоследствии ошибки в работе приложений.
На данный момент, имея различая обозначеные выше, проблем не имею!!!
Соответственно вопроы
1. Какое влияние оказывает различие в USE на результат компиляций?
2. Какое влияние оказывает различие(!небольшое!) в версиях пакетов тулчейна на результат компиляций?
3. Немного не по теме, но все же. Кто нить пользуется функцией distcc под названием pump? Дает ли она обещаный результат?
Вроде все...
- Для комментирования войдите или зарегистрируйтесь