Недавно фирма решила продать очередному клиенту готовое решение... Но тот выдвинул условие, чтоб оно вертелось на 64 битной OpenSuse 11.3. Сначала выморозил дефолтный gcc 4.5, который начал недоумевать, почему операторы сравнения указателей, которые раньше неявно генерились, не были определены явно. (Бага зафиксирована на gcc.gnu.org, как регрессия. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383) Не долго думая, собрали 4.5-м версию 4.4.1 и убедили cmake дергать именно его. Фреймворк наконец-то пошел собираться... Даунгрейд компилятора, однако, всех проблем не решил - бодренький процесс сборки фреймворка уперся в модуль Templates.cpp (в нем, вроде как не сильно много специализаций шаблонов... на первый взгляд), на котором система ушла в глухой своп (а процесс cpp1plus стал часто висеть в состоянии «disk sleep», попеременно с X-ами). Спросили разрабов фреймворка WTF^W в чем проблема, при каких условиях этот загадочный модуль собирается за приемлемое время... «Дык, 3 гига памяти надо» (c) ответствовали разрабы. Причем только для сборки (и только этого модуля) - если у меня на всем компе 3Gb RAM - ССЗБ. Значит, чтоб компилятор собрать - 1Gb достаточно, а фреймворку для одного файла, который кстати чем-то вроде компиляции (упаковкой данных в бинарный формат) занимается, 3Gb надо... И ведь не стыдно. (Дожидаться финала не стал - добавил гесту с OpenSuse память до 2.5Gb (хосту тоже надо где-то быть), отправил систему в init 3, запустил сборку и прокинул на домашний комп ssh туннель, чтоб перед сном глянуть, чем кончилась борьба за память... Когда пришел домой - cmake уже показывал прогресс в районе [90%]. При всей нелюбви чинить не сломанное, иногда понимаешь людей, которым хочется просто взять и у^Wвсе переписать.)