前天emerge --sync了一把,直接从2007.0升级到前天的portage了。结果在emerge -uDv world的时候出错,pango编译不过,我想到论坛上关于pango的讨论,于是去修改了ebuild文件,digest后重新编译,但问题依旧,于是花了大把的时间去仔细阅读ebuild文件及google等。但都是说需要注释ebuild文件里的epatch行,没有第三种办法。我在这浪费了两天时间都没解决。
今天再次emerge了一把,仔细的看了一下log文件,发现倒数第10多行的样子说找不到libexpat.so.0,没有这个文件。于是去/usr/lib看了一下,果然没有这个文件,只有libexpat.so.1以及libexpat.so.1.5.x这两个文件,于是做了个软连接,叫libexpat.so.0,再次emerge pango --oneshot就通过了,emerge -uDv world也没问题了,问题解决。
回头来看,我的时间都浪费在实践网上的解决办法上了,而忽视了最重要的报错输出信息了。希望各位在以后遇到编译出错的问题上仔细查看输出,如果一屏看不了几行,就去var目录看完整的log文件。这样能减少弯路,更快的解决问题。
btw,我重新emerge expat之后再次emerge pango,还是不能解决问题,一定要软链接一下才行。