我们的 gentoo 服务器处于不一致状态。我不知道之前做错了什么,但现在我需要以某种方式修复系统。
我尝试执行 revdep-rebuild,但失败了:
...
x11-libs/gksu:0
x11-libs/gtk+:2
x11-libs/gtkglarea:2
x11-libs/libgksu:2
x11-libs/libsvg-cairo:0
x11-libs/qt-gui:4
..........
- 重要提示:存储库‘gentoo’有 12 条新闻需要阅读。
- 使用 eselect news 阅读新闻。
计算依赖关系...完成!
出现:没有 ebuild 来满足“gnome-base/gswitchit-plugins:0”。
出现:正在搜索相似的名称...
出现:也许您指的是其中任何一个:gnome-base/gswitchit-plugins,gnome-extra/gswitchit-plugins,gnome-base/nautilus?
- 重要提示:存储库‘gentoo’有 12 条新闻需要阅读。
使用 eselect news 阅读新闻。
revdep-rebuild 无法安装所有软件包。
- 您有以下选择:
- 如果在构建过程中 emerge 失败,请修复问题并重新运行 revdep-rebuild。
- 使用 /etc/portage/package.keywords 来揭示该包的较新版本。
- (并删除 5_order.rr 以便再次评估)
- 修改上面的emerge命令并手动运行。
- 手动编译或取消合并不满意的软件包,
- 删除临时文件,然后重试。
- (您可以先编辑软件包/ebuild 列表)
- 要删除临时文件,请运行:
- rm /var/cache/revdep-rebuild/*.rr
我试图删除其中一个提到的软件包:
harley ~ # emerge -C gswitchit-plugins
错误的 gcc 版本 = echo -C gswitchit-plugins
harley ~ #
我没有看到 gcc 有任何问题,但是 emerge 不起作用:
harley ~ # gcc --version
gcc (Gentoo 4.5.2 p1.0, pie-0.4.5) 4.5.2
版权所有 (C) 2010 Free Software Foundation, Inc.
这是免费软件;请参阅来源以了解复制条件。没有任何
保证;甚至对于适销性或特定用途的适用性也不提供保证。
harley ~ # gcc-config -l
[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-3.4.6
[3] i686-pc-linux-gnu-3.4.6-hardened
[4] i686-pc-linux-gnu-3.4.6-hardenednopie
[5] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[6] i686-pc-linux-gnu-3.4.6-hardenednossp
[7] i686-pc-linux-gnu-4.1.2
[8] i686-pc-linux-gnu-4.5.2 *
harley ~ # emerge --help
错误的 gcc 版本 = echo --help
harley ~ # which emerge
/root/bin/emerge
harley ~ # emerge
错误的 gcc 版本 = echo
harley ~ # emerge fdslkgj
错误gcc 版本 = echo fdslkgj
harley ~#
我该如何修复?
答案1
# cat /root/bin/emerge
#!/bin/sh echo "Wrong gcc version = echo $@" gcc -v 2>&1 | grep "gcc
version 4.3.1" || exit 1
/usr/bin/emerge $@
看起来必须选择 4.3.1 版本的 gcc。