Redis make编译报错解决方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Redis make编译报错解决方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2095字,纯文字阅读大概需要3分钟。
内容图文
![Redis make编译报错解决方法](/upload/InfoBanner/zyjiaocheng/895/c6791033c7a549eda6a90e51a8134727.jpg)
转载地址:https://my.oschina.net/u/2289161/blog/832358
在linux环境下安装redis,在make编译步骤报如下错误信息:
[root@centos6 redis-3.2.6]# make
cd src && make all
make[1]: Entering directory `/var/redis-3.2.6/src’
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/var/redis-3.2.6/src’
make: *** [all] Error 2
错误原因: 原来Linux系统没有装gcc,而Redis是C实现的,所以需要gcc来进行编译。
1、报错一 没用gcc
安装过程
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
yum install tcl
注意gcc依赖了很多东西,有些包可能系统已经 装了,有些没有,防止出意外,最好都走一遍
2、报错二,没有tcl8.5, 安装tcl8.5,过程如下
下载地址:http://downloads.sourceforge.net/tcl/tcl8.5.10-src.tar.gz
安装过程
tar -zxvf tcl8.5.tar.gz
./configure
make
make install
3、安装redis
make
make test //检查一下,看看有没有问题
make install
如果make继续报错,信息如下:error: jemalloc/jemalloc.h: No such file or directory
执行 make MALLOC=libc 就行
注意的是,为了防止出意外,make失败后在make的话,清理一下,执行make clean
下面是一些介绍:
Redis2.6已经发布了(http://redis.io/download),下载后,在make时一堆编译错误,后来看issue,跟linux系统版本及位数有关。
昨天作者 antirez发布了2.6.2,此版本修复了一些linux版本不兼容导致make不通过的问题,可是下下来以后,发现在测试机编译还是有些问题,与是 在issue上提出一个问题:(https://github.com/antirez/redis/issues/736#issuecomment- 9848046) 早上来的时候,看到大牛们热心的回复,真的很感动。在测试机上,由于系统 是32位的,导致编译时没通过,首先我立马确定了这个问题,在64位测试机上测试时,发现果然编译可以通过,然后在32位上,跟据提示,在 Makefile中增加一条CFLAGS= -march=i686,编译也顺利通过了,顿时感觉舒畅很多!
下载地址:http://redis.googlecode.com/files/redis-2.6.2.tar.gz
然后tar, make,即可。(make前,如果确认自己的测试机是32位linux,在src/Makefile文件中的头部加上CFLAGS= -march=i686,可参考isSUSE中相关回答)
修改对应的redis.conf,然后启动,即可进行测试了。
内容总结
以上是互联网集市为您收集整理的Redis make编译报错解决方法全部内容,希望文章能够帮你解决Redis make编译报错解决方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。