求助,安装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 阅读 10 次 更新于 2025-07-20 21:27:48 我来答关注问题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命令来...

  • 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]: *** ...

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

  •  橘色双子猴 redis常见报错及解决?

    在命令窗口输入:ping [IP] 查看是否有连接,如果没有,则为网络问题,如果有,尝试第二步。查看报错说明:redis.clients.jedis.HostAndPort- cant resolve localhost address,每个项目虽然都可能报Name or service not known,但指向不同,我这里指向redis,则有针对性处理。# redis-server redis.conf...

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

报错相关话题

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