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

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

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

 

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

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

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

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

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

 

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

 

2、安装

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

cp redisbloom.so /opt/redis5/

 停止redis服务:

service redis_6379 stop

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

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

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

或者这个命令:

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

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

 

 

你可能感兴趣的:(redis,java,gnu,mariadb,服务器)