Keepalived 实现 Redis AutoFailover (RedisHA)6

2022-06-26 20:06:21 浏览数 (1)

解决办法是手动指定系统中已有的 libc

root@temp redis-3.0.4# make MALLOC=libc

cd src && make all

make1: Entering directory `/usr/local/src/redis-3.0.4/src'

rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-dump redis-check-aof .o .gcda .gcno .gcov redis.info lcov-html

(cd ../deps && make distclean)

make2: Entering directory `/usr/local/src/redis-3.0.4/deps'

(cd hiredis && make clean) > /dev/null || true

(cd linenoise && make clean) > /dev/null || true

(cd lua && make clean) > /dev/null || true

(cd jemalloc && -f Makefile && make distclean) > /dev/null || true

(rm -f .make-*)

make2: Leaving directory `/usr/local/src/redis-3.0.4/deps'

(rm -f .make-*)

echo STD=-std=c99 -pedantic >> .make-settings

echo WARN=-Wall -W >> .make-settings

echo OPT=-O2 >> .make-settings

echo MALLOC=libc >> .make-settings

echo CFLAGS= >> .make-settings

echo LDFLAGS= >> .make-settings

echo REDIS_CFLAGS= >> .make-settings

echo REDIS_LDFLAGS= >> .make-settings

echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -Wall -W -O2 -g -ggdb -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src >> .make-settings

echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings

(cd ../deps && make hiredis linenoise lua)

make2: Entering directory `/usr/local/src/redis-3.0.4/deps'

(cd hiredis && make clean) > /dev/null || true

(cd linenoise && make clean) > /dev/null || true

(cd lua && make clean) > /dev/null || true

(cd jemalloc && -f Makefile && make distclean) > /dev/null || true

(rm -f .make-*)

(echo "" > .make-ldflags)

(echo "" > .make-cflags)

MAKE hiredis

cd hiredis && make static

make3: Entering directory `/usr/local/src/redis-3.0.4/deps/hiredis'

cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c

cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb hiredis.c

cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb sds.c

cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb async.c

ar rcs libhiredis.a net.o hiredis.o sds.o async.o

make3: Leaving directory `/usr/local/src/redis-3.0.4/deps/hiredis'

MAKE linenoise

cd linenoise && make

make3: Entering directory `/usr/local/src/redis-3.0.4/deps/linenoise'

cc -Wall -Os -g -c linenoise.c

make3: Leaving directory `/usr/local/src/redis-3.0.4/deps/linenoise'

MAKE lua

cd lua/src && make all CFLAGS="-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL " MYLDFLAGS="" AR="ar rcu"

make3: Entering directory `/usr/local/src/redis-3.0.4/deps/lua/src'

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lapi.o lapi.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lcode.o lcode.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o ldebug.o ldebug.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o ldo.o ldo.c

ldo.c: In function ‘f_parser’:

ldo.c:496: warning: unused variable ‘c’

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o ldump.o ldump.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lfunc.o lfunc.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lgc.o lgc.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o llex.o llex.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lmem.o lmem.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lobject.o lobject.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lopcodes.o lopcodes.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lparser.o lparser.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lstate.o lstate.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lstring.o lstring.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o ltable.o ltable.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o ltm.o ltm.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lundump.o lundump.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lvm.o lvm.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lzio.o lzio.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o strbuf.o strbuf.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o fpconv.o fpconv.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lauxlib.o lauxlib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lbaselib.o lbaselib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o ldblib.o ldblib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o liolib.o liolib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lmathlib.o lmathlib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o loslib.o loslib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o ltablib.o ltablib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lstrlib.o lstrlib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o loadlib.o loadlib.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o linit.o linit.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lua_cjson.o lua_cjson.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lua_struct.o lua_struct.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lua_cmsgpack.o lua_cmsgpack.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lua_bit.o lua_bit.c

ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all object files

ranlib liblua.a

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o lua.o lua.c

cc -o lua lua.o liblua.a -lm

liblua.a(loslib.o): In function `os_tmpname':

loslib.c:(.text 0x35): warning: the use of tmpnam' is dangerous, better usemkstemp'

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o luac.o luac.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -c -o print.o print.c

cc -o luac luac.o print.o liblua.a -lm

make3: Leaving directory `/usr/local/src/redis-3.0.4/deps/lua/src'

make2: Leaving directory `/usr/local/src/redis-3.0.4/deps'

代码语言:txt复制
CC adlist.o
代码语言:txt复制
CC ae.o
代码语言:txt复制
CC anet.o

anet.c: In function ‘anetSockName’:

anet.c:623: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:621: note: initialized from here

anet.c:627: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:625: note: initialized from here

anet.c: In function ‘anetPeerToString’:

anet.c:584: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:582: note: initialized from here

anet.c:588: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:586: note: initialized from here

anet.c: In function ‘anetTcpAccept’:

anet.c:555: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:553: note: initialized from here

anet.c:559: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:557: note: initialized from here

代码语言:txt复制
CC dict.o
代码语言:txt复制
CC redis.o
代码语言:txt复制
CC sds.o
代码语言:txt复制
CC zmalloc.o
代码语言:txt复制
CC lzf_c.o
代码语言:txt复制
CC lzf_d.o
代码语言:txt复制
CC pqsort.o
代码语言:txt复制
CC zipmap.o
代码语言:txt复制
CC sha1.o
代码语言:txt复制
CC ziplist.o
代码语言:txt复制
CC release.o
代码语言:txt复制
CC networking.o
代码语言:txt复制
CC util.o
代码语言:txt复制
CC object.o
代码语言:txt复制
CC db.o

db.c: In function ‘scanGenericCommand’:

db.c:432: warning: ‘pat’ may be used uninitialized in this function

db.c:433: warning: ‘patlen’ may be used uninitialized in this function

代码语言:txt复制
CC replication.o
代码语言:txt复制
CC rdb.o
代码语言:txt复制
CC t_string.o
代码语言:txt复制
CC t_list.o
代码语言:txt复制
CC t_set.o
代码语言:txt复制
CC t_zset.o
代码语言:txt复制
CC t_hash.o
代码语言:txt复制
CC config.o
代码语言:txt复制
CC aof.o
代码语言:txt复制
CC pubsub.o
代码语言:txt复制
CC multi.o
代码语言:txt复制
CC debug.o
代码语言:txt复制
CC sort.o
代码语言:txt复制
CC intset.o
代码语言:txt复制
CC syncio.o
代码语言:txt复制
CC cluster.o
代码语言:txt复制
CC crc16.o
代码语言:txt复制
CC endianconv.o
代码语言:txt复制
CC slowlog.o
代码语言:txt复制
CC scripting.o
代码语言:txt复制
CC bio.o
代码语言:txt复制
CC rio.o
代码语言:txt复制
CC rand.o
代码语言:txt复制
CC memtest.o
代码语言:txt复制
CC crc64.o
代码语言:txt复制
CC bitops.o
代码语言:txt复制
CC sentinel.o
代码语言:txt复制
CC notify.o
代码语言:txt复制
CC setproctitle.o
代码语言:txt复制
CC blocked.o
代码语言:txt复制
CC hyperloglog.o
代码语言:txt复制
CC latency.o
代码语言:txt复制
CC sparkline.o
代码语言:txt复制
LINK redis-server
代码语言:txt复制
INSTALL redis-sentinel
代码语言:txt复制
CC redis-cli.o
代码语言:txt复制
LINK redis-cli
代码语言:txt复制
CC redis-benchmark.o
代码语言:txt复制
LINK redis-benchmark
代码语言:txt复制
CC redis-check-dump.o
代码语言:txt复制
LINK redis-check-dump
代码语言:txt复制
CC redis-check-aof.o
代码语言:txt复制
LINK redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make1: Leaving directory `/usr/local/src/redis-3.0.4/src'

root@temp redis-3.0.4# echo $?

0

root@temp redis-3.0.4#

0 人点赞