Linux 编译安装memcache

下载libevent-2.1.8-stable、 memcached-1.3.0.tar.gz或者 memcached-1.5.9.tar.gz (这个新的不会报下面1.3.0的那个错误)

1、libevent

tar zxvf libevent.tar.gz

cd libevent-2.1.8-stable/

./configure --prefix=/usr/local/memcache/libevent

make && make install

2、memcache

tar zxvf memcached-1.3.0.tar.gz

cd memcached-1.3.0

./configure --prefix=/usr/local/memcache/ --with-libevent=/usr/local/memcache/libevent/

make && make install

[root@localhost memcached-1.3.0]# make && make install
make  all-recursive
make[1]: Entering directory `/usr/local/src/memcached-1.3.0'
Making all in doc
make[2]: Entering directory `/usr/local/src/memcached-1.3.0/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/local/src/memcached-1.3.0/doc'
make[2]: Entering directory `/usr/local/src/memcached-1.3.0'
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -DNDEBUG -I/usr/local/memcache/libevent//include   -g -O2 -MT memcached-memcached.o -MD -MP -MF ".deps/memcached-memcached.Tpo" -c -o memcached-memcached.o `test -f 'memcached.c' || echo './'`memcached.c; \
then mv -f ".deps/memcached-memcached.Tpo" ".deps/memcached-memcached.Po"; else rm -f ".deps/memcached-memcached.Tpo"; exit 1; fi
memcached.c: In function ‘add_iov’:
memcached.c:731:30: error: ‘IOV_MAX’ undeclared (first use in this function)
         if (m->msg_iovlen == IOV_MAX ||
                              ^
memcached.c:731:30: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [memcached-memcached.o] Error 1
make[2]: Leaving directory `/usr/local/src/memcached-1.3.0'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/memcached-1.3.0'

make: *** [all] Error 2

解决方法:

注释两行内容即可

vim memcached.c

/* FreeBSD 4.x doesn't have IOV_MAX exposed. */
#ifndef IOV_MAX
/* #if defined(__FreeBSD__) || defined(__APPLE__) */
# define IOV_MAX 1024
#endif

/* #endif */

make && make install

#这次可以了

#启动memcache

[root@localhost memcached-1.3.0]# /usr/local/memcache/bin/memcached -d -l 192.168.121.128 -p 11211 -m 128 -u root/usr/local/memcache/bin/memcached: error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory

#查看memcached 依赖库的路径

[root@localhost memcached-1.3.0]# LD_DEBUG=libs /usr/local/memcache/bin/memcached -v
     10064:     find library=libevent-2.1.so.6 [0]; searching
     10064:      search cache=/etc/ld.so.cache
     10064:      search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64                (system search path)
     10064:       trying file=/lib64/tls/x86_64/libevent-2.1.so.6
     10064:       trying file=/lib64/tls/libevent-2.1.so.6
     10064:       trying file=/lib64/x86_64/libevent-2.1.so.6
     10064:       trying file=/lib64/libevent-2.1.so.6
     10064:       trying file=/usr/lib64/tls/x86_64/libevent-2.1.so.6
     10064:       trying file=/usr/lib64/tls/libevent-2.1.so.6
     10064:       trying file=/usr/lib64/x86_64/libevent-2.1.so.6
     10064:       trying file=/usr/lib64/libevent-2.1.so.6
     10064:

/usr/local/memcache/bin/memcached: error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory

#创建软链接 映射到lib64里面

[root@localhost memcached-1.3.0]# ln -s /usr/local/memcache/libevent/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6

[root@localhost memcached-1.3.0]# /usr/local/memcache/bin/memcached -d -l 192.168.121.128 -p 11211 -m 128 -u root

到此可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值