使用make编译安装时出现错误:fatal error: jemalloc/jemalloc.h: No such file or directory

在linux中使用源码安装软件时,一般都要先安装gcc环境:

yum -y install gcc gcc-c++

今天在编译安装redis时,在使用make命令编译时,出现下面这个错误:

In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
 #include <jemalloc/jemalloc.h>
                               ^
compilation terminated.
In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
 #include <jemalloc/jemalloc.h>
                               ^
compilation terminated.
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/root/run_jar/redis-6.2.8/src'
make: *** [all] Error 2
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/root/run_jar/redis-6.2.8/src'
make: *** [install] Error 2

这种情况一般是因为上次的编译失败,有残留的文件,需要清理后重新编译就可以了。
使用下面这个命令清理并重新编译:

make distclean && make

编译没有问题后再执行安装命令:

make install

网上也有方法是:make MALLOC=libc,也就是重新指定内存分配器。但据说不太好,jemalloc内存分配器在实践中处理内存碎片是要比libc好。且jemalloc内存分配器也是包含在源码包里面的,可以在deps目录下看到jemalloc目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值