【极客日常】一种解决redis源码编译时jemalloc报No such file or directory错误的方法

在用源码编译redis的过程中,可能会报jemalloc出错,提示No such file or directory的问题,导致构建不能继续。一种常见的,在网上流传的方法是调整MALLOC参数为libc,但这并不是唯一解,不能一概而论。

以笔者的例子,笔者采用windows装CLion并用Remote Development连接linux虚拟机的方式来编译redis源码,版本为6.2.6,在构建的过程中也报了jemalloc出No such file or directory的问题。在笔者的场景下,仔细查看日志,会出现许多Permission Denied的字样,这说明有许多脚本没有执行权限。经过一番研究,执行下面俩操作之后,distclean一下,就能成功再次编译redis。

  • src目录下,chmod +x ./mkreleasehdr.sh,增加这个脚本的执行权限
  • deps目录下,chmod -R 777 jemalloc,把jemalloc目录下所有文件权限都提上来

暂时研究到的是这些,如果真是因为权限问题,且还有漏网之鱼的话,极端一点可以把整个redis源码目录权限都提上来。反正都可以试试看。

版权声明
本文为博客HiKariのTechLab原创文章,转载请标明出处,谢谢~~~