转: redis linux安装 [adlist.o] Error jemalloc/jemalloc.h: No such file or directory

转自: https://blog.csdn.net/lgh1117/article/details/48270085

安装:

  1. 通过wget方式直接在linux上下载Redis

wget http://download.redis.io/releases/redis-2.6.17.tar.gz

  1. 解压下载的redis-2.6.17.tar.gz 文件

    tar xzf redis-2.6.17.tar.gz

  2. 进入解压后的文件夹

    cd redis-2.6.17

  3. 编译安装

    make

运行:

  • 通过执行src文件夹下的redis-server,可以启动redis服务:

    $ src/redis-server

  • 通过执行src文件夹下的redis-cli, 可以访问redis服务。

    $ src/redis-cli
    redis> set foo bar
    Ok
    redis> get foo
    "bar"

安装过程可能出现的问题:

  1. CentOS5.7默认没有安装gcc,这会导致我们无法make成功。使用yum安装:

    yum -y install gcc

  2. make时报如下错误:

    zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
    zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
    make[1]: *** [adlist.o] Error 1
    make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
    make: *** [all] Error 2
    

    原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。解决办法:make时添加参数。

    make MALLOC=libc

  3. make之后,会出现一句提示

    Hint: To run 'make test' is a good idea ;

    但是不测试,通常是可以使用的。若我们运行make test ,会有如下提示

[devnote@devnote src]$ make test
 You need tcl 8.5 or newer in order to run the Redis test
 make: ***[test] Error_1
解决办法是用yum安装tcl8.5(或去tcl的官方网站http://www.tcl.tk/下载8.5版本,并参考官网介绍进行安装)

`yum install tcl`

你可能感兴趣的:(转: redis linux安装 [adlist.o] Error jemalloc/jemalloc.h: No such file or directory)