发现编译fix和spdylay的时候经常会碰到这样的问题。

在ubuntu下面安装过libxml2-dev后没碰到这个问题,但在mac上即使用brew install libxml2之后继续autoconf -i还是会碰到这个问题。

主要是libxml2在brew安装之后没有把自己的libxml2.m4放到/usr/local/share/aclocal里面。

这个时候我尝试brew link libxml2libxml2中的share里面的东西都link过来,但是出现信息是:

warning: libxml2 is keg-only and must be linked with --force  

这就是说libxml2是一个keg-only的包,只会放在brew自己的Cellar地窖里,不会对外面的环境进行修改,如果需要修改就要使用--force。估计是因为多个版本共存的关系,否则一升级会破坏之前的所有的依赖包。

既然我这是第一次装,我就直接手动aclocal了,brew link还会link man/doc/gtk-doc这些。

手动就直接把libxml2/<version>/share/aclocal/libxml.m4软链接到/usr/local/share/aclocal下面就好了。

之后果然autoreconf -i顺利通过。

至于brew的包是怎么定义自己是keg-only的就不知道了。