Redis make编译报错解决方法

转载地址:http://xueliang1yi.blog.163.com/blog/static/1145570162012102114635764/     linux

在linux环境下安装redis,在make编译步骤报以下错误信息:git

 

[root@centos6 redis-3.2.6]# makegithub

cd src && make allredis

make[1]: Entering directory `/var/redis-3.2.6/src'centos

  CC adlist.o测试

/bin/sh: cc: command not foundgoogle

make[1]: *** [adlist.o] Error 127.net

make[1]: Leaving directory `/var/redis-3.2.6/src'code

make: *** [all] Error 2blog

 

错误缘由: 原来Linux系统没有装gcc,而Redis是C实现的,因此须要gcc来进行编译。

一、报错一  没用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依赖了不少东西,有些包可能系统已经 装了,有些没有,防止出意外,最好都走一遍

 

二、报错二,没有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

三、安装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,而后启动,便可进行测试了。

相关文章
相关标签/搜索