天天看點

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​​      

解決辦法是:

make MALLOC=libc

網上已經有了 解決辦法,為什麼要加這個呢 ,在README 有這個一段話。

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=jemalloc      

說關于配置設定器allocator, 如果有MALLOC  這個 環境變量, 會有用這個環境變量的 去建立Redis。

而且libc 并不是預設的 配置設定器, 預設的是 jemalloc, 因為 jemalloc 被證明 有更少的 fragmentation problems

繼續閱讀