私は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 までのバージョンのみが返されます。そのうちの 1 つが と同等であることを期待していましたapt-get update
が、そうではないようです。
何が間違っているのでしょうか?
答え1
問題
hoefling が述べたように、私も portage が壊れていると思いますemerge-webrsync
。フォールバック コマンドも同様です。gcc:6 より下のすべてのバージョンはマスクされているかハード マスクされており、multilib は現在変更されています。
解決
- Portageを修正。読むプロジェクト:Portage/壊れたPortageの修復 < プロジェクト:Portage現在のバージョンは2.3.66-r1ですが、しないでください注記にあるように2.2.13を超える
- カーネル バージョン以上のすべてのバージョンをマスクします
sys-kernel/gentoo-sources
。個人的な意見としては、安定したカーネルを構築するには健全なコンパイラ チェーンが必要です。 - テスト
emerge --sync
。 - ステップ 3 が完了したら、 を実行します
emerge -1 portage
。これにより、ステップ 1 で構築した portage がツリーの公式 portage に置き換えられます。
オプション
- システム全体を再構築します。
emerge -e @system
emerge -e @world
- カーネルのマスクを解除して更新します。