В началоРуководство Gentoo Linux по обновлению GCC → Общие указания по обновлению
Gentoo-doc HOME Пред.: Руководство Gentoo Linux по обновлению GCCВ началоУровень выше: Руководство Gentoo Linux по обновлению GCCСлед.: Переход с GCC-3.3 на 3.4 или более новый

2. Общие указания по обновлению

2.1. Введение

Важно

Если вы ищете подробные указания по обновлению с GCC-3.3 на GCC-3.4 или более новый, обратитесь к соответствующему разделу.

Важно

Если вы ищете подробные указания по обновлению GCC на вновь установленных системах, обратитесь к соответствующему разделу.

Вообще говоря, переход на версии с исправленными ошибками (bugfix release), как с 3.3.5 на 3.3.6, должен быть довольно безопасен: надо только установить новую версию, переключиться на нее и пересобрать единственный затрагиваемый пакет — libtool. Однако, при некоторых обновлениях GCC нарушается двоичная совместимость, в таких случаях может потребоваться пересборка не только затрагиваемых пакетов, но и даже всего системного набора и пакетов, необходимых для компиляции.

Говоря о необходимости ручного переключения на новую версию компилятора, мы сказали, что оно не происходит автоматически. Тем не менее, есть одно исключение — переход на версию с исправленными ошибками (как с 3.3.5 на 3.3.6), если не используется режим «multislot», позволяющий обеим версиям сосуществовать в одной системе. По умолчанию этот режим выключен, ведь большинству пользователей он ничего не даcт.

Листинг 1. Обновление GCC

# emerge -uav gcc

(Вместо "i686-pc-linux-gnu-3.4.5" укажите обновленную
 версию GCC и настройки CHOST)
# gcc-config i686-pc-linux-gnu-3.4.5
# source /etc/profile

(Пересборка libtool)
# emerge --oneshot -av libtool


Теперь пересоберите набор программ для компиляции, затем world, используя новый компилятор.

Листинг 2. Пересборка системы

# emerge -eav system
# emerge -eav world


Теперь можно без опасений удалить старую версию GCC. Если вы чувствуете такую необходимость, введите следующую команду (как обычно, вместо =sys-devel/gcc-3.3* укажите версию, которую собираетесь удалить):

Листинг 3. Удаление более старой версии GCC

# emerge -aC =sys-devel/gcc-3.3*


Пред.: Руководство Gentoo Linux по обновлению GCCВ началоУровень выше: Руководство Gentoo Linux по обновлению GCCСлед.: Переход с GCC-3.3 на 3.4 или более новый
В началоРуководство Gentoo Linux по обновлению GCC → Общие указания по обновлению