強制的にemergeしてパッケージの新しいバージョンをインストールするにはどうすればいいですか?

強制的にemergeしてパッケージの新しいバージョンをインストールするにはどうすればいいですか?

私は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 foundeix-sync正常に完了しているように見えますが、その後はeix sys-devel/gcc4.7 までのバージョンのみが返されます。そのうちの 1 つが と同等であることを期待していましたapt-get updateが、そうではないようです。

何が間違っているのでしょうか?

答え1

問題

hoefling が述べたように、私も portage が壊れていると思いますemerge-webrsync。フォールバック コマンドも同様です。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。これにより、ステップ 1 で構築した portage がツリーの公式 portage に置き換えられます。

オプション

  1. システム全体を再構築します。
    • emerge -e @system
    • emerge -e @world
  2. カーネルのマスクを解除して更新します。

関連情報