Как скомпилировать REDIS 5.0.5 на Windows-10, ошибка в make - PullRequest
1 голос
/ 07 июня 2019

Скачано 5.0.5 с Redis перейдите в каталог src сделать

Конечно, это должно сработать для кого-то еще там. Любая идея / подсказка о том, как это исправить?

Короткая версия:

In net.c ...

make[3]: Entering directory '/cygdrive/c/Users/pmoran/Downloads/redis-5.0.5/deps/hiredis'
cc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c

net.c:270:21: error: storage size of ‘hints’ isn’t known
 struct addrinfo hints, *servinfo, *bservinfo, *p, *b;
                 ^~~~~

и позже

net.c:337:40: error: dereferencing pointer to incomplete type ‘struct addrinfo’
 for (p = servinfo; p != NULL; p = p->ai_next) {
                                    ^~

тогда

make[3]: *** [Makefile:156: net.o] Error 1
make[3]: Leaving directory '/cygdrive/c/Users/pmoran/Downloads/redis-5.0.5/deps/hiredis'
make[2]: *** [Makefile:46: hiredis] Error 2
make[2]: Leaving directory '/cygdrive/c/Users/pmoran/Downloads/redis-5.0.5/deps'

и наконец

cc: error: ../deps/hiredis/libhiredis.a: No such file or directory
cc: error: ../deps/lua/src/liblua.a: No such file or directory
make[1]: *** [Makefile:219: redis-server] Error 1
make[1]: Leaving directory '/cygdrive/c/Users/pmoran/Downloads/redis-5.0.5/src'
make: *** [Makefile:6: all] Error 2

1 Ответ

1 голос
/ 27 июня 2019

У меня была точно такая же проблема, и я нашел лучшее решение - использовать более старую версию redis.Redis 3.2.13 был недавно обновлен (март 2019), поэтому он обладает всеми необходимыми мне функциями.Если вы используете его, вам нужно добавить следующее в redis-3.2.13 / deps / hiredis / net.c после операторов include:

    #ifdef __CYGWIN__
    #define TCP_KEEPCNT 8
    #define TCP_KEEPINTVL 150
    #define TCP_KEEPIDLE 14400
    #endif

После этого я смог сделатьmake из корневого каталога с:

make distclean
make

Это основано на этом разговоре на github.

Надеюсь, это поможет!

...