ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis make编译报错解决方法

2019-08-19 16:08:04  阅读:229  来源: 互联网

标签:src redis make Redis 编译 报错 install yum


原文链接:https://my.oschina.net/u/2289161/blog/832358

转载地址: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,然后启动,即可进行测试了。

标签:src,redis,make,Redis,编译,报错,install,yum
来源: https://blog.csdn.net/R_s_x/article/details/99732320

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有