GCC 4 на Gentoo 2008 Hardened
Gentoo Hardened по-умолчанию всегда поставляется с GCC 3.
С одной стороны – это хорошо, ибо новые технологии это конечно здорово, но на сервере предпочтение лучше отдавать вещам проверенным. Эта истина не всегда применима к суровой реальности.
Одна из причин, по который Вам скорей всего понадобится компилятор нового поколения в системе – это современный процессор, особенности которого учитываются в правильно настроенном GCC4.
В общем, ближе к делу. Первые грабли на которые я напоролся – версии ПО. Продолжая чтение этого текста, убедитесь что у вас установлен binutils версии не ниже, чем 2.17. Если с этим всё в порядке, система может использовать старую версию, так что рекомендую запустить binutils-config -l. Тоже самое и с ядром Linux. Убедитесь что hardened-sources не младше 2.6.28-r9, а linux-headers не младше 2.6.27-r2.
После того, как убедитесь что всё в порядке, переключитесь на компилятор vanilla, через утилиту gcc-config.
gcc-config -l gcc-config < версия-gcc>-vanilla source /etc/profile
Теперь нужно пересобрать библиотеку C и сам компилятор. Без этого GCC4 не соберётся.
USE="-hardened" emerge --oneshot =sys-libs/glibc USE="-hardened" emerge --oneshot =sys-devel/gcc
После этого, используя утилиту gcc-config выбираем версию GCC с hardened.
gcc-config -l gcc-config < версия-gcc>-hardened source /etc/profile
Снова пересобираем
emerge --oneshot =sys-libs/glibc emerge --oneshot =sys-devel/gcc
Ну и наконец, пересобирём мир с новым компилятором.
emerge -e worldВот и всё. Не забудьте потом прогнать revdep-rebuild
Комментариев пока нет.