gentoo的xmms2一直有一个没有解决的bug,在编译xmms2的时候提示错误:src/plugins/modplug/modplug.c:12:21: fatal error: modplug.h: No such file or directory。
参考https://wiki.debian.org/qa.debian.org/FTBFS得知需要修改源码中的#include <modplug.h>为#include <libmodplug/modplug.h>才能搞定此bug。
尝试修改/usr/portage/distfiles里的源码包,然后emerge,竟然又重新下载带bug的源码包,失败;尝试修改/usr/portage/media-sound/xmms2的ebuild文件,将URI改回本地电脑里的文件,然后emerge的时候,又提示digest错误,失败。
最后参考http://www.linuxsir.org/bbs/thread384798.html里timemars兄提供的方法,在emerge解压源码包的时候,按下ctrl+z中断进程,然后修改/var/tmp/portage/media-sound/xmms2-0.8-r2/work/xmms2-0.8DrO_o/src/plugins/modplug/modplug.c文件中的#include <modplug.h>为#include <libmodplug/modplug.h>,再用强大的fg命令恢复刚才的进程,一溜下来,终于搞定!
这个fg命令真是个好东西!上一进程中断之后,可以用它从刚才中断的节点重新恢复,真是奇妙无比!有了fg大法,从此gentoo修改源码包再安装就不是个问题了。
(以上bug也可以用root身份运行cd /usr/include && ln -s libmodplug/modplug.h modplug.h命令解决)