Cross Compile x86_64 на системе I686 на Ubuntu с Distcc
-
10-10-2019 - |
Вопрос
Я пытаюсь настроить небольшой кластер сборки дома, используя DistCC. Есть две системы X64 и 1 I686 системы. Все системы работают Ubuntu 10.10 и актуальны. Система, которая инициирует сборку, составляет X64. Distcc прекрасно работает между двумя системами X64, но все задачи построения, отправленные в систему I686
Уже:
- Я установил Multilib Package для G ++ в эту систему. Я могу перекрестно компилировать на x64 локально, используя
g++ -m64
- Изменил ссылку в
/usr/lib/distcc/g++
Чтобы указать на сценарий, который явность устанавливает-m64
параметр.
Какие-либо предложения?
Решение
Попытка еще раз после дальнейших исследований:
GCC имеет Страница, описывающая параметры i386 и x86-64. Анкет А -m64
Флаг говорит, чтобы генерировать 64-битный код, но вы также захотите указать тип процессора с -march=i686
или же -march=k8
или аналогично, чтобы использовать правильный набор инструкций.
Поскольку DISTCC отправляет флаги командной строки GCC, вам следует попробовать добавить их в команду DISTCC, работающую локально и пропустить удаленный сценарий для настройки флагов.
Если вы тестируете флаги архитектуры на локальной машине X64 без DistCC, просто G ++, то это должно дать вам правильные двоичные файлы при использовании DistCC.