redis编译报致命错误:jemalloc/jemalloc.h:没有那个文件或目录


图中为使用ansible安装出现的报错信息,如手动安装,进入redis目录后,执行make指令报错,报错内容大体一致。

网上的大多解决办法为运行该命令:make MALLOC=libc 但是有些情况下仍会报错信息,这是因为你的主机如果有内存分配器libc,就可以使用这种方式,如果没有就会出现libc也找不到的情况。

既然出现找不到jemalloc,也没有libc,则我们自己可以安装默认的内存分配器jemalloc,安装方式如下:

  1. 下载包:wget https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2
  2. 解压:tar -jxvf jemalloc-5.2.0.tar.bz2(如果解压报错 执行yum -y install bzip2以支持bzip2)
  3. 进入到已解压的目录:cd jemalloc-5.2.0/
  4. 执行指令:./autogen.sh
  5. 执行指令:./configure
  6. 执行指令:make
  7. 执行指令:make install

以上安装方式为默认安装,安装默认目录为:
PREFIX: /usr/local
BINDIR: /usr/local/bin
DATADIR: /usr/local/share
INCLUDEDIR : /usr/local/include
LIBDIR : /usr/local/lib

完成jemalloc安装之后,则删除执行make失败的redis目录,重新解压,进入解压的文件夹,进行下面操作:

  1. 执行指令:make
  2. 执行指令:cd ./src
  3. 执行指令:make install PREFIX=/usr/local/redis 安装到指定目录

以上就是redis安装出现jemalloc/jemalloc.h:没有那个文件或目录的全部过程

你可能感兴趣的:(服务器环境搭建及配置,redis)