安装环境:CentOS 6.7(x64)后由于怀疑是系统原因,yum updata至Centos6.8

Varnish版本:4.1.2 下载链接:https://repo.varnish-cache.org/source/varnish-4.1.2.tar.gz

大坑:原来以为./configure后应该是一条光明大道,想不到呀,make的时候竟然报错了,报错了,报错了,坑了我一下午时间找解决方法。

报错如下:

../../lib/libvarnishapi/.libs/libvarnishapi.so: undefined reference to `pcre_free_study'

collect2: ld returned 1 exit status

make[3]: *** [varnishadm] 错误 1

make[3]: Leaving directory `/data/software/varnish-4.1.2/bin/varnishadm'

make[2]: *** [all-recursive] 错误 1

make[2]: Leaving directory `/data/software/varnish-4.1.2/bin'

make[1]: *** [all-recursive] 错误 1

make[1]: Leaving directory `/data/software/varnish-4.1.2'

make: *** [all] 错误 2

解决方法

第一步:安装最新PCRE,一个绝对的大坑,虽然已经yum了pcre和pcre-devel,但版本是7.8.7的(pcre-7.8-7.el6.x86_64和pcre-devel-7.8-7.el6.x86_64);但是呀但是,要安装varnish 4.1.2,需要安装pcre最新版(我下载的时候最新版本已经是8.38了,下载地址ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz) 下载后,直接解压,编辑,安装即可。

第二步:执行export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

第三步:如果以前编辑过,先执行make clean,再执行./configure --prefix=/usr/local/varnish/ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

第四步:make && make install