Redis Installation error: jemalloc/jemalloc. h: Nosuchfileordirectory Solution
Error description
When installing Redis 2.8.18, an error is reported:
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
Cause Analysis
In README, we have this passage.
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
About the allocator, if there is an environment variable MALLOC, it will use this environment variable to create Redis.
In addition, libc is not the default distributor. The default is jemalloc, because jemalloc has been proved to have fewer fragmentation problems than libc.
However, if you do not have jemalloc, but only libc, of course, make has an error. So add such a parameter.
Solution
Make MALLOC = libc