博客
关于我
memcache编译安装(cygwin环境)
阅读量:795 次
发布时间:2023-02-08

本文共 1006 字,大约阅读时间需要 3 分钟。

今天,我尝试了编译libevent,但一直不成功。于是,我研究了memcache的编译过程,希望能找到解决方法,因为memcache的底层就是libevent。

首先,我在memcache的官网下载了1.4.24版本的源码包。下载完成后,我用tar xvf memcached-1.4.24.tar.gz命令解压,进入了memcached-1.4.24的源码目录,准备开始编译。

接下来是configure阶段。直接运行./configure,发现检测不通过,报错说缺少了libevent的库。错误信息提示我可以从http://www.monkey.org/~provos/libevent/下载,或者使用--with-libevent=/dir选项指定已有的libevent目录。

我已经配置好了libevent,于是尝试在configure命令中添加--with-libevent=/usr/local/libevent。运行后,配置成功,没有错误出现。

然后进入make & make install阶段。执行make时,出现了一个错误:memcached.c:4810:13: 错误:数组下标类型为‘char’ [-Werror=char-subscripts]。具体是在if ((ever[2] == '1' || ever[2] == '2') && !isdigit(ever[3])) {这一行。这提示我在这段代码中使用了char数组作为数组下标,导致编译错误。

查看源码,这段代码的功能是检测libevent版本,删除了“&& !isdigit(ever[3])”部分。删除这部分后,编译成功,但功能也有所影响。因此,我决定保留这部分代码,继续寻找问题所在。

重新执行make命令,成功编译。接下来进行make install,将memcache安装到系统中。

启动memcache时,我使用默认的端口11211,没有特别详细说明启动参数。运行memcached.exe -m 100后,使用telnet连接到127.0.0.1 11211,测试是否正常运行。

通过telnet连接,查看统计信息,发现memcache已经正常运行,统计数据也显示正确。因此,安装成功。

总结来说,遇到编译问题时,首先要检查依赖库的安装是否正确,然后检查源代码中的错误,逐步排查问题,最终能够顺利完成编译和安装。

转载地址:http://gqyfk.baihongyu.com/

你可能感兴趣的文章
LVS负载均衡
查看>>
Lync Server单前端无边缘的外部访问思考
查看>>
Lync 小技巧-52-Lync 2013-不加域-客户端-2-导入-证书-信任链
查看>>
LZ4 1.10 压缩算法发布!具有多线程功能,压缩速度显著提高达 8 倍
查看>>
lz4_flex 项目教程
查看>>
lzg_ad:打印机需要的组件支持
查看>>
mabatis 中出现< 以及> 代表什么意思?
查看>>
Mac + Anaconda 上的 Qt 设计器应用程序在哪里?
查看>>
Mac book air 重新安装系统验证显示 untrusted_cert_title
查看>>
Mac book pro打开docker出现The data couldn’t be read because it is missing
查看>>
mac elasticsearch brew安装填坑
查看>>
mac M1 下安装docker 及相关镜像
查看>>
Mac M1 安装 TensorFlow 使用Python3.8
查看>>
Mac M1 芯片不兼容node-sass
查看>>
MAC M1大数据0-1成神篇-25 hadoop高可用搭建
查看>>
Mac mini7.1 2014年末 安装单windows 10系统
查看>>
Mac mini7.1 2014年末系统损坏开机跳出闪动带问候文件夹
查看>>
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
mac node版本管理
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>