我跑了eix-sync
,emerge world -uvDp
然後收到以下訊息。我對這個消息感到困惑。好像是說低版的xorg 伺服器與更高版本一衝突。我應該強制取消出現嗎xorg 伺服器並嘗試更新?
x11-base/xorg-server:0
(x11-base/xorg-server-1.16.0:0/1.16.0::gentoo, ebuild scheduled for merge) conflicts with
x11-base/xorg-server:0/1.15.99.903= required by (x11-drivers/xf86-input-synaptics-1.7.6:0/0::gentoo, installed)
^^^^^^^^^^^^^^^
x11-base/xorg-server:0/1.15.99.903= required by (x11-drivers/xf86-input-evdev-2.8.4:0/0::gentoo, installed)
^^^^^^^^^^^^^^^
x11-base/xorg-server:0/1.15.99.903= required by (x11-drivers/xf86-video-intel-2.99.912-r1:0/0::gentoo, installed)
答案1
它實際上是說 x11-drivers/xf86-* ebuild 需要重新合併。大多數時候,Portage 可以自動執行此操作,但是 x11 ebuild 的設定方式中的某些內容仍然會迷惑 Portage,我們得到了這個攔截器。
可以解決這個問題的方法是明確地將它們全部一次合併:
emerge -vaD1 =xorg-server-1.16.0 xf86-input-synaptics xf86-input-evdev xf86-video-intel
為-v
您提供額外的信息,-a
在繼續之前會出現詢問您(因為我缺少一些關鍵字,我的第一次嘗試實際上是想降級 xorg-server 而不是升級它,所以這很重要),將-D
遵循先決條件來發現為什麼它想要降級而不是升級(用於 ebuilds 的額外關鍵字),並-1
表示不必費心將它們放入 world 檔案中(大概 xorg-server 已經是,驅動程式不需要)。 IIRC,我必須添加以下內容:
=x11-libs/libXfont-1.5.0*
=x11-proto/xproto-7.0.26*
到我的目錄中的一個檔案/etc/portage/package.keywords
。
答案2
也就是說,在更新 Xorg 之前,需要先更新需要 Xorg 的驅動程式。 IO 驅動程式似乎還不支援 xorg 1.16 中所做的更改。
不要強行取消合併,這會嚴重破壞我的 Gentoo 系統。我認為 1.16 有一個更重大的內部變化,或者至少 Arch Linux 版本(基於 systemd)有。