В начало → Руководство Gentoo Linux по обновлению GCC → Общие указания по обновлению |
Если вы ищете подробные указания по обновлению с 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, используя новый компилятор.
Теперь можно без опасений удалить старую версию GCC. Если вы чувствуете такую необходимость, введите следующую команду (как обычно, вместо =sys-devel/gcc-3.3* укажите версию, которую собираетесь удалить):
В начало → Руководство Gentoo Linux по обновлению GCC → Общие указания по обновлению |