我現在大概知道為什麼了。
我的情況應該是
1、那個錯誤訊息是因為我unmerge linux-headers所造成的
2、因為我把/var/cache/edb及/var/db/pkg殺掉,以致我要emerge任何package都要從patch-2.5.9開始。但是emerge patch-2.5.9,會出現上述的錯誤,然後宣告失敗
3、因為linux-headers被移除了,所以就算要emerge linux-headers 也要從patch-2.5.9開始
所以,我陷入了死結。
但是 USE="bootstrap" emerge gcc 時,會幫我安裝linux-headers,而且能成功。所以,就理論上而言,這樣就可以解決問題了。正常人做到這兒,就應該重建自己的edb及pkg才是。
但,我的事情就這麼完了嗎?
不,
我真的是手x,想把linux-headers換成linux26-headers。
因為linux-headers與linux26-headers會block住,所以我很直接地又把linux-headers給unmerge了,我還沒把edb及pkg兩個目錄弄回來。
所以我又回到了原來的樣子。
這次,我賭我自己沒有emerge patch-2.5.9也不會有問題,所以,我就 emerge inject patch-2.5.9,然後emerge linux26-headers。果然如我預期成功了。接下來我就是emerge patch-2.5.9,看來也沒有問題。
終於告一段落了。
這一次我學到的是:
1 沒事別殺edb及pkg
2 linux-header是compile很重要的東西,不能殺
3 如果發生問題USE="bootstrap" emerge gcc可以修復編譯環境大部份的問題。