CentOS7.9安装RedisBloom,make编译时遇到:错误:只允许在 C99 模式下使用‘for’循环初始化声明

12 篇文章 0 订阅

1、下载

我使用的版本是: RedisBloom-2.0.3.tar.gz-Java文档类资源-CSDN下载

githut下载地址:https://github.com/RedisBloom/RedisBloom

从ghithut下载,默认版本是:v2.2.15

把安装RedisBloom-master.zip包上传到服务器,解压后,执行make命令会报错:

[root@node05 RedisBloom-2.2.15]# make
cc  -Wall -Wno-unused-function -g -ggdb -O2 -fPIC -D_GNU_SOURCE -I/home/soft/RedisBloom-2.2.15/contrib -I/home/soft/RedisBloom-2.2.15 -I/home/soft/RedisBloom-2.2.15/src -I/home/soft/RedisBloom-2.2.15/deps/t-digest-c/src  -c -o /home/soft/RedisBloom-2.2.15/src/rebloom.o /home/soft/RedisBloom-2.2.15/src/rebloom.c
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFCheck_RedisCommand’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:207:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 2; ii < argc; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c:207:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘bfInsertCommon’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:243:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < nitems && rv != -2; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFDebug_RedisCommand’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:390:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < sb->nfilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘cfInsertCommon’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:582:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < nitems; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFCheck_RedisCommand’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:715:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 2; ii < argc; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFCapacity’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:868:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < bf->nfilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFSize’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:876:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < bf->nfilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFSize’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:915:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (uint16_t ii = 0; ii < cf->numFilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFRdbSave’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:997:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < sb->nfilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFRdbLoad’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1036:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < sb->nfilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘BFMemUsage’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1081:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < sb->nfilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFRdbSave’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1102:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < cf->numFilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFRdbLoad’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1141:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0, exp = 1; ii < cf->numFilters; ++ii, exp *= cf->expansion) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘CFMemUsage’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1163:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (size_t ii = 0; ii < cf->numFilters; ++ii) {
     ^
/home/soft/RedisBloom-2.2.15/src/rebloom.c: 在函数‘RedisModule_OnLoad’中:
/home/soft/RedisBloom-2.2.15/src/rebloom.c:1221:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
     for (int ii = 0; ii < argc; ii += 2) {
     ^
make: *** [/home/soft/RedisBloom-2.2.15/src/rebloom.o] 错误 1
[root@node05 RedisBloom-2.2.15]# clear

 

这可怎么办???网上查各种资料,都不知道怎么解决,只要换一个思路,就是换版本,使用:

RedisBloom-2.0.3.tar.gz,安装,成功了:

可以在githut上下载其他版本也可以:

 

 

 

2、安装

把生成的模块复制到redis安装目录

cp redisbloom.so /opt/redis5/

 停止redis服务:

service redis_6379 stop

加载模块,redisbloom.so,一定要写绝对路径:

 redis-server  --loadmodule  /opt/redis5/redisbloom.so  

或者这个命令:

 redis-server /etc/redis/6379.conf   --loadmodule  /opt/redis5/redisbloom.so

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fyihdg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值