求助,安装redis报错

安装redis 2.8.18时报错: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 make[1]: Leaving directory `/data0/src/redis-2.6.2/src'make: *** [...
求助,安装redis报错
1. error: jemalloc/jemalloc.h: No such file or directory

// Begin -- error1
参考链接: http://www.phperz.com/article/14/1219/42002.html
本文为大家讲解的是Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法,感兴趣的同学参考下。

错误描述
安装redis 2.8.18时报错:

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
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2

原因分析
在README 有这个一段话。

Allocator
---------

Selecting a non-default memory allocator when building Redis is done by setting
the `MALLOC` environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.

To force compiling against libc malloc, use:

% make MALLOC=libc

To compile against jemalloc on Mac OS X systems, use:

% make MALLOC=jemalloc

说关于分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。

而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。

但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。

解决办法
make MALLOC=libc

// End -- error1

2.You need tcl 8.5 or newer in order to run the Redis test
详细信息:
[root@localhost redis-3.0.0]# make test
cd src && make test
make[1]: Entering directory `/service/mt/redis-3.0.0/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/service/mt/redis-3.0.0/src'
make: *** [test] Error 2
法一:
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
sudo ./configure
sudo make
sudo make install
法二:
$ sudo yum install tcl.x86_642017-07-11
mengvlog 阅读 40 次 更新于 2025-10-31 14:46:21 我来答关注问题0
  •  阿暄生活 求助,安装redis报错

    安装Redis报错的原因可能多样,以下是一些解决Windows 7系统上安装Redis报错的常见方法:确认系统位数:检查系统是否为32位或64位:确保你下载的Redis版本与你的操作系统位数相匹配。如果你是32位系统,应下载32位的Redis版本;如果是64位系统,则下载64位版本。正确下载和解压:下载Redis压缩包:从可靠的源...

  •  翡希信息咨询 在Linux系统中安装redis,出现了adlist.o错误,然后我使用了make MALLOC

    确认gcc编译器是否安装:错误原因:报错/bin/sh: cc: command not found表明系统中缺少C编译器。Redis是用C语言编写的,因此编译Redis需要gcc。解决方法:在终端中运行sudo aptget install gcc或sudo yum install gcc来安装gcc。正确执行make命令:通常步骤:在Redis源代码的src目录下,只需运行make命令来...

  •  阿暄生活 redis报错caused by: redis.clients.jedis.exceptions.jedisconnectionexcept

    网络连接问题:检查网络配置:确认应用配置的Redis服务器地址和端口是否正确,没有拼写错误或配置错误。测试网络连接:使用ping和telnet命令测试网络连接是否稳定,以及是否能够成功连接到Redis服务器的指定端口。Redis配置错误:检查Redis配置文件:查看Redis的配置文件,确认绑定地址(bind)和端口(port)配置是否...

  • 1. 网络问题检测:在命令行中输入 `ping [IP]` 来检查与Redis服务的网络连接。如果无法ping通,说明网络存在问题;如果连接成功,则继续下一步检查。2. 错误说明检查:观察报错信息是否包含 `redis.clients.jedis.HostAndPort - cant resolve localhost address`。这类错误通常表明无法解析本地主机地址。

  •  阿暄生活 redis连接串报错怎么解决

    Redis连接串报错可以通过以下方法进行解决:检查Redis服务器状态:确保Redis服务器已经启动并正在运行。可以通过执行redis-cli ping命令来验证,如果返回PONG,则表明Redis服务器运行正常。检查网络连接:确认客户端和Redis服务器之间的网络连接稳定。网络问题,如延迟或不稳定,可能导致连接超时或失败。验证Redis...

檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部