编译安装libmemcached 1.0.14 出错
2012年12月5日
没有评论
最近升级php memcached扩展到2.1.0,由于依赖libmemcached库,先前安装的版本是1.0.2,编译时候出错,需要更高版本的libmemcached,所以重新下载最新版本的libmemcached编译安装。不幸的时编译libmemcached 1.0.14时候保存,大致错误信息为:
libmemcached/auto.cc: In function 'memcached_return_t text_incr_decr(memcached_server_st*, bool, const char*, size_t, uint64_t, bool)': libmemcached/auto.cc:73: error: expected `)' before 'PRIu64' In file included from ./libmemcached/common.h:72, from ./libmemcached/csl/common.h:40, from libmemcached/csl/context.cc:38:
google查询了一下,原因是GCC的版本低了,所以只好升级GCC了,好在有yum,一条命令就搞定,命令如下:
yum install gcc44 gcc44-c++ libstdc++44-devel 把下面内容加入到/etc/bashrc中 export CC=/usr/bin/gcc44 export CXX=/usr/bin/g++44
退出终端然后重新登陆,编译、安装都通过了,同时也顺利升级memcached扩展。