redis(四)--安装redis报错"/bin/sh: cc: command not found"和“jemalloc/jemalloc.h: No such file or directory“

一、/bin/sh: cc: command not found

 在linux系统上对redis源码进行编译时提示提示“make cc Command not found,make: *** [adlist.o] Error 127”。这是由于系统没有安装gcc环境,因此在进行编译时才会出现上面提示,当安装好gcc后再进行编译时,上面错误提示将消失。

yum install gcc

二、jemalloc/jemalloc.h: No such file or directory

安装:

  1. 通过wget方式直接在linux上下载Redis
    wget http://download.redis.io/releases/redis-2.6.17.tar.gz
  2. 解压下载的redis-2.6.17.tar.gz 文件
    tar xzf redis-2.6.17.tar.gz
  3. 进入解压后的文件夹
    cd redis-2.6.17
  4. 编译安装
    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


转:http://www.devnote.cn/article/109.html


猜你喜欢

转载自blog.csdn.net/u010775025/article/details/80340586
今日推荐