Redis 安装报错 error: jemalloc/jemalloc.h: No such file or directory

错误描述:

安装redis 5.0.0 时出现如下错误:

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

Redis在安装时关于内存分配器allocator, 如果指定了MALLOC这个环境变量,那么会用这个环境变量的去建立Redis。如果没有,那么就是用默认的分配器
而 5.0.0的版本 redis安装使用的默认内存分配器是 jemalloc

解决方法

当没有jemalloc而只有libc,make出错时,可以加一个参数即可安装内存分配器为libc的redis
make MALLOC=libc

如果想用jemalloc,安装jemalloc即可

或者可以先编译分配器设置为libc的redis 5.0.0版本,
然后重新下载 redis 5.0.0 源码进行 make install 编译安装
可以成功安装内存分配器是 jemalloc 的redis,亲测可行,但原理未知

猜你喜欢

转载自blog.csdn.net/my_tiantian/article/details/83991035