Ваше здоровье,
в компании мы создаем порт наших игр, и нам нужно скомпилировать PythonOgre, оболочку Ogre3d для Python. Это огромный кусок кода, особенно сгенерированный код оболочки. У нас есть Mac Mini с 1 ГБ оперативной памяти.
Мы построили версию i386. Поскольку у нас всего 1 ГБ ОЗУ, мы заставили систему сборки использовать только одно ядро; второй процесс, работающий в то же время, совершил приятное путешествие в виртуальную память.
Теперь нам нужно создавать универсальные бинарники, потому что издатель настаивает на поддержке PPC. Чтобы упростить сборку универсальных двоичных файлов, мы изменили CFLAGS
и CXXFLAGS
, чтобы включить -arch i386 -arch ppc
при компиляции кода оболочки (сам Ogre3d уже кажется универсальным двоичным файлом).
Однако Apple решила использовать оба ядра при создании универсального двоичного файла, и это привело к тому, что система перевернулась и умерла. (Ну, в любом случае, сканируйте при 0,9-1,4% загрузки ЦП.) Хотя обычно мы были бы признательны за это, на Mac Mini с 1 ГБ это полностью блокирует нашу разработку.
Помимо получения новой машины для сборки, отказа от поддержки PPC и создания сборки только для PPC, единственный выход, который у нас есть, — это заблокировать создание GCC второго одновременного процесса.
Как бы мы это сделали?