Redis 2.8.18 安裝報錯 error: jemalloc/jemalloc.h: No s

本文爲你們講解的是Redis 2.8.18 安裝報錯 error: jemalloc/jemalloc.h: No such file or directory解決方法,感興趣的同窗參考下。html

錯誤描述

安裝Redis 2.8.18時報錯:c++

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
redis

緣由分析

在README 有這個一段話。vim

Allocator  
---------  
 
Selecting a non-default memory allocator when building Redis is done by setting  
the `MALLOC` environment variable. Redis is compiled and linked against libc  
malloc by default, with the exception of jemalloc being the default on Linux  
systems. This default was picked because jemalloc has proven to have fewer  
fragmentation problems than libc malloc.  
 
To force compiling against libc malloc, use:  
 
    % make MALLOC=libc  
 
To compile against jemalloc on Mac OS X systems, use:  
 
    % make MALLOC=jemallocui


說關於分配器allocator, 若是有MALLOC  這個 環境變量, 會有用這個環境變量的 去創建Redis。spa

並且libc 並非默認的 分配器, 默認的是 jemalloc, 由於 jemalloc 被證實 有更少的 fragmentation problems 比libc。code

可是若是你又沒有jemalloc 而只有 libc 固然 make 出錯。 因此加這麼一個參數。server

解決辦法

make MALLOC=libchtm


CentOS 6.5 下安裝 Redis

wget http://download.redis.io/redis-stable.tar.gzblog

tar xvzf redis-stable.tar.gz

cd redis-stable

make

 

前面3步應該沒有問題,主要的問題是執行make的時候,出現了異常。

異常一:

make[2]: cc: Command not found

異常緣由:沒有安裝gcc

解決方案:yum install gcc-c++

 

異常二:

zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory

異常緣由:一些編譯依賴或原來編譯遺留出現的問題

解決方案:make distclean。清理一下,而後再make。

 

 

在make成功之後,須要make test。在make test出現異常。

異常一:

couldn't execute "tclsh8.5": no such file or directory

異常緣由:沒有安裝tcl

解決方案:yum install -y tcl。

 

在make成功之後,會在src目錄下多出一些可執行文件:redis-server,redis-cli等等。

方便期間用cp命令複製到usr目錄下運行。

cp redis-server /usr/local/bin/

cp redis-cli /usr/local/bin/

而後新建目錄,存放配置文件

mkdir /etc/redis

mkdir /var/redis

mkdir /var/redis/log

mkdir /var/redis/run

mkdir /var/redis/6379

 

在redis解壓根目錄中找到配置文件模板,複製到以下位置。

cp redis.conf /etc/redis/6379.conf

經過vim命令修改

daemonize yes

pidfile /var/redis/run/redis_6379.pid

logfile /var/redis/log/redis_6379.log

dir /var/redis/6379

最後運行redis:

$ redis-server /etc/redis/6379.conf
相關文章
相關標籤/搜索