博主在使用源码编译安装 redis 5.0.7 的情况下,make编译过程失败,报以下错误
make
cd src && make all
make[1]: 进入目录“/opt/redis-5.0.7/src”
CC Makefile.dep
make[1]: 离开目录“/opt/redis-5.0.7/src”
make[1]: 进入目录“/opt/redis-5.0.7/src”
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
#include <jemalloc/jemalloc.h>
^
编译中断。
make[1]: *** [adlist.o] 错误 1
make[1]: 离开目录“/opt/redis-5.0.7/src”
make: *** [all] 错误 2
后探究错误原因如下
错误的本质是我们在开始执行make 时遇到了错误(大部分是由于gcc未安装),然后我们安装好了gcc 后,我们再执行make ,这时就出现了jemalloc/jemalloc.h: No such file or directory。这是因为上次的编译失败,有残留的文件,我们需要清理下,然后重新编译就可以了。
解决办法如下
[root@ela-master ~]# make distclean
[root@ela-master ~]# make && make install