我运行了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 已经是了,驱动程序不需要)。如果我没记错的话,我不得不添加以下内容:
=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)有。