redis在Linux安装报错

解压后make编译报错 

gcc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c  

make[3]: gcc:命令未找到  

make[3]: *** [net.o] 错误 127  

make[3]: 离开目录“/usr/local/redis-3.2.8/deps/hiredis”  

make[2]: *** [hiredis] 错误 2  

make[2]: 离开目录“/usr/local/redis-3.2.8/deps”  

make[1]: [persist-settings] 错误 2 (忽略)  

    CC adlist.o  

/bin/sh: cc: 未找到命令  

make[1]: *** [adlist.o] 错误 127  

make[1]: 离开目录“/usr/local/redis-3.2.8/src”  

make: *** [all] 错误 2  

提示gcc命令未找到,这是因为redis没有安装gcc编译器没安装

这时候只要安装gcc编译器即可

[root@bogon redis-3.2.8]# yum install -y gcc g++ gcc-c++ make  

安装完成提示

如果gcc编译器安装过程中报错,可以到百度搜索解决!

------------------------------

编译器安装完成之后再redis-3.2.8目录下执行make命令

[root@bogon redis-3.2.8]# make  

cd src && make all  

make[1]: 进入目录“/usr/local/redis-3.2.8/src”  

    CC adlist.o  

In file included from adlist.c:34:0:  

zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录  

 #include   

编译中断。  

make[1]: *** [adlist.o] 错误 1  

make[1]: 离开目录“/usr/local/redis-3.2.8/src”  

make: *** [all] 错误 2  

又出现错误,原因分析   

关于分配器allocator, 如果有MALLOC  这个 环境变量, 会有用这个环境变量的 去建立Redis。  

而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。  

没有jemalloc 而只有 libc 当然 make 出错。

这时候在编译过程时增加一个参数

[root@bogon redis-3.2.8]# make MALLOC=libc  

编译成功

你可能感兴趣的:(redis在Linux安装报错)