1. 程式人生 > >安裝Redis在啟動服務需要編譯,結果編譯報錯(摘)

安裝Redis在啟動服務需要編譯,結果編譯報錯(摘)

錯誤描述
安裝Redis 2.8.18時,編譯的時候報錯:

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 

 

 

原因分析
關於分配器allocator, 如果有MALLOC  這個 環境變數, 會用這個環境變數去建立Redis。
而且libc 並不是預設的 分配器, 預設的是 jemalloc, 因為 jemalloc 被證明 有更少的 fragmentation problems 比libc。
但是如果你又沒有jemalloc 而只有 libc 當然 make 出錯。 所以加這麼一個引數。

解決辦法
make MALLOC=libc