Переход на GCC 4.4.1 с 4.3.3
Sep. 3rd, 2009 11:40 pmНа домашнем-то я уже неделю, как перешел на GCC 4.4.1, а вот на рабочем ноуте - только вчера.
Но не так всё гладко прошло. Сначала у меня стал падать Firefox при старте (уверен, что это было из-за nss или nspr) и загружать полностью одно ядро Skype.
Только потом я понял причину: дома в параметрах к компилятору у меня стоит -Os, а на рабочем -O3.
Пересобрал с -O2 - и вуаля, снова всё хорошо работает.
Правда, потребовалось более пропатченную версию буста размаскировать (1.35.0-r5, а был -r2).
Вывод: у GCC 4.4 с оптимизацией -O3 пока некоторые проблемы, что неудивительно; есть ещё вариант - проблемы у пакетов, но это уже отдельная история.
И ещё, новый компилятор стал ещё более строгим к неявным внесениям имён из смежных заголовков, нужно почти все системные заголовки указывать явно для соответствующих имён.
Update: Из-за Gentoo Bug 269307 пришлось перейти с glibc-2.9_p20081201-r2 на -2.10.1. (Юля! Тебе опять же волноваться не о чем, у нас дома это уже давно стоит.)
Upd2: emerge отрапортавал в логах:
Но не так всё гладко прошло. Сначала у меня стал падать Firefox при старте (уверен, что это было из-за nss или nspr) и загружать полностью одно ядро Skype.
Только потом я понял причину: дома в параметрах к компилятору у меня стоит -Os, а на рабочем -O3.
Пересобрал с -O2 - и вуаля, снова всё хорошо работает.
Правда, потребовалось более пропатченную версию буста размаскировать (1.35.0-r5, а был -r2).
Вывод: у GCC 4.4 с оптимизацией -O3 пока некоторые проблемы, что неудивительно; есть ещё вариант - проблемы у пакетов, но это уже отдельная история.
И ещё, новый компилятор стал ещё более строгим к неявным внесениям имён из смежных заголовков, нужно почти все системные заголовки указывать явно для соответствующих имён.
Update: Из-за Gentoo Bug 269307 пришлось перейти с glibc-2.9_p20081201-r2 на -2.10.1. (Юля! Тебе опять же волноваться не о чем, у нас дома это уже давно стоит.)
Upd2: emerge отрапортавал в логах:
1252243670: ::: completed emerge (791 of 791) xfce-base/xfce4-meta-4.6.1 to / 1252243670: *** Finished. Cleaning up... 1252243671: *** exiting successfully. 1252243685: *** terminating.