Как принудительно установить более новую версию пакета?

Как принудительно установить более новую версию пакета?

Я использую Gentoo и мне нужно установить более новую версию gcc, доступную вофициальный репозиторий пакетов Gentoo.

Я хочу сделать эквивалент, apt-get install gcc=8.0.3-r1но не могу понять как. Это даже не обязательно должна быть версия 8 - подойдет любая версия 4.8 или выше.

Что я пробовал:

emerge =sys-devel/gcc-8.0.3возвращаетсяthere are no ebuilds to satisfy "=sys-devel/gcc-8.0.3".

emerge-webrsyncвозвращает command not found. eix-syncкажется, завершается успешно, но затем eix sys-devel/gccвозвращает только версии до 4.7. Я надеялся, что один из них будет эквивалентом, apt-get updateно это не так.

Что я делаю не так?

решение1

Проблема

Как сказал hoefling, я тоже считаю, что ваш portage сломан, как emerge-webrsyncи команда fallback. Все версии ниже gcc:6 либо замаскированы, либо жестко замаскированы, а multilib теперь изменился.

Решение

  1. Исправить Portage. ЧитатьПроект:Portage/Исправление сломанного portage < Проект:Portage. Текущая версия — 2.3.66-r1, ноНЕперейти выше 2.2.13, как указано в примечании
  2. Маскируйте каждую версию sys-kernel/gentoo-sources>= версии вашего ядра. По личному мнению, нам нужна разумная цепочка компиляторов для сборки стабильного ядра.
  3. Тест emerge --sync.
  4. Если шаг 3 выполнен, запустите emerge -1 portage. Это заменит portage, который вы построили на шаге 1, на официальный portage из дерева.

Необязательный

  1. Перестройте всю систему:
    • emerge -e @system
    • emerge -e @world
  2. Разблокируйте свое ядро ​​и обновите его.

Связанный контент