[Решено] Требуется оперативная помощь, кто практически знает distcc и cross-compiling

Вопрос не слишком сложный, но задачу мне надо решать оперативно, гугль даёт много общего материала, может быть кто-то подскажет быстро по конкретному случаю

Есть P4 машина с флагами

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"

и Duron 750, на который надо собрать систему, хочется с флагами

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"

Варианта вижу два:
1) убрать оптимизацию по типу процессора, оставив общую i686
2) кросс-компиляция

Посоветуйте, только желательно обосновано, а не директивно -- делай, мол так.
В первом варианте вижу минусы -- и так проц слабоват, хотелось бы оптимизацию использовать. Ну и "передергивать" переменные на машинке с П4 тоже не хочется -- забудешь потом ))) Но это мелочи на самом деле.

:)

Непонятно конечно причем здесь distcc
Но скорее всего топикстартер неправильно выразил свою мысль.
Или все-таки для duron хочеш все пакеты собрать на P4?
Если не на нем - так в чем проблемма то - запускай сборку по
distcc - на duron ставь нужную оптимизацию, но только не native.
Главное - одинаковые версии gcc должны быть.
И P4 будет собирать с флагами оптимизации для дурня :)

Distcc здесь при том, что

Distcc здесь при том, что позволяет осуществлять сборку системы на целевой машине, в данном случае сильно старом Duron 750, и ускорить этот процесс, используя простаивающий по ночам P4 2400.
Вопрос был -- нужна ли кросс-компиляция, если разная оптимизация под процессоры, ибо хочется для слабого проца хоть как-то ускорить работу системы.

Спасибо за оперативность.

(Sir) * Windows looks like an open door, but no way to go *

man distcc, ну т.е.

man distcc, ну т.е. препроцессор и линковка происходят локально, а распределяется только компиляция со всеми флагами, вычисленными естественно локально. В идеале distcc на хостах ничего не знает о и не зависит от своего окружения.

Что нужно:
1) gcc одной версии на всех машинах
2) наличие gcc целевой архитектуры на всех хостах
3) правильные симлинки (и кросс-компиляторы, если требуются) на хостах, навроде:

ls -la /usr/lib/distcc/bin/
lrwxrwxrwx 1 root root 15 May 19 2009 i686-pc-linux-gnu-c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 May 19 2009 i686-pc-linux-gnu-g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 May 19 2009 i686-pc-linux-gnu-gcc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Aug 1 2009 x86_64-pc-linux-gnu-c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Aug 1 2009 x86_64-pc-linux-gnu-g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 Aug 1 2009 x86_64-pc-linux-gnu-gcc -> /usr/bin/distcc

Я собираю с помощью distcc под две архитектуры, даже почти всё собирается.
Второй и третий пункты в вашем случае можно опустить, т.к. CHOST одинаковый.

Спасибо, если я правильно

Спасибо, если я правильно понял, кросс нужен только при разных CHOST?
В моем случае следует только не применять march=native и этого будет достаточно для сборки с оптимизацией thunderbird?

(Sir) * Windows looks like an open door, but no way to go *

Да, всё правильно

Да, всё правильно

Спасибо, будем собирать )

Спасибо, будем собирать )

(Sir) * Windows looks like an open door, but no way to go *

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

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