Xupeng's blog

Oct 5, 2006 - 2 minute read - Comments

wxGTK引发的些案

我的gentoo最近有些不听话,有好些个应用程序都不能用了:amule、xchm等。revdep-rebuild的时候发现少了很多的库,大概是因为最近几次更新系统都没有revdep-rebuild吧,系统有些凌乱了。

revdep-build并不能解决问题,因为这根本就没有办法运行下去,第一个软件包amule的重新编译就遇到了问题:
!!! set-wxconfig: Error: Can't find normal or debug version:
!!! set-wxconfig: /usr/lib/wx/config/gtk2-unicode-release-2.6 not found
!!! set-wxconfig: /usr/lib/wx/config/gtk2-unicode-debug-2.6 not found
!!! You need to emerge wxGTK with unicode in your USE


按照错误提示,似乎是因为我编译wxGTK时没有使用unicode这个USE?不对啊,从equery u wxGTK的输出来看,我使用了这个USE,那为什么它还告诉我说要使用unicode呢?哦,这个只是它的建议而已,再看上面的错误信息:
找不到gtk2-unicode-release-2.6,看一下,/usr/lib/wx/config下的确没有这样的文件,这个应该是编译wxGTK的时候缺少了什么USE导致的,但不是unicode,因为我的确使用了unicode。

google的结果并没有为我提供可用的信息,还是自己动手吧,丰衣足食:)

vi /usr/portage/x11-libs/wxGTK/wxGTK-2.6.3.3.ebuild,仔细看了看这个ebuild,我找到了这样的一段代码:
pkg_setup() {
    if use X; then
        einfo "To install only wxbase (non-gui libs) use USE=-X"
    else
        einfo "To install GUI libraries, in addition to wxbase, use USE=X"
    fi
}
再仔细看看equery u wxGTK的输出,哦,居然没有X这个USE,问题大概就是在这里了,USE="X" emerge wxGTK,漫长的等待之后,ok,amule等问题程序编译通过了,问题得到圆满的解决。