Can we have a clean build on FreeBSD 10 for Redis 3.0.x . See here:
cd src && gmake all
gmake[1]: Entering directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/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 && gmake distclean)
gmake[2]: Entering directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/deps'
(cd hiredis && gmake clean) > /dev/null || true
(cd linenoise && gmake clean) > /dev/null || true
(cd lua && gmake clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && gmake distclean) > /dev/null || true
(rm -f .make-*)
gmake[2]: Leaving directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/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 && gmake hiredis linenoise lua)
gmake[2]: Entering directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/deps'
(cd hiredis && gmake clean) > /dev/null || true
(cd linenoise && gmake clean) > /dev/null || true
(cd lua && gmake clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && gmake distclean) > /dev/null || true
(rm -f .make-*)
(echo "" > .make-cflags)
(echo "" > .make-ldflags)
MAKE hiredis
cd hiredis && gmake static
gmake[3]: Entering directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/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
gmake[3]: Leaving directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/deps/hiredis'
MAKE linenoise
cd linenoise && gmake
gmake[3]: Entering directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/deps/linenoise'
cc -Wall -Os -g -c linenoise.c
gmake[3]: Leaving directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/deps/linenoise'
MAKE lua
cd lua/src && gmake all CFLAGS="-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL " MYLDFLAGS="" AR="ar rcu"
gmake[3]: Entering directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/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
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
lauxlib.c:577:61: warning: while loop has empty body [-Wempty-body]
while ((c = getc(lf.f)) != EOF && c != LUA_SIGNATURE[0]) ;
^
lauxlib.c:577:61: note: put the semicolon on a separate line to silence this
warning
1 warning generated.
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+0x7b7): warning: warning: tmpnam() possibly used unsafely; consider using mkstemp()
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
gmake[3]: Leaving directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/deps/lua/src'
gmake[2]: Leaving directory '/usr/home/krmx/workspace/kronometrix/kernel/redis/redis-3.0.1/deps'
CC adlist.o
CC ae.o
CC anet.o
CC dict.o
CC redis.o
CC sds.o
CC zmalloc.o
CC lzf_c.o
CC lzf_d.o
CC pqsort.o
CC zipmap.o
CC sha1.o
CC ziplist.o
CC release.o
CC networking.o
networking.c:463:9: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (isinf(d)) {
^
/usr/include/math.h:116:18: note: expanded from macro 'isinf'
#define isinf(x) __fp_type_select(x, __isinff, __isinf, __isinfl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
1 warning generated.
CC util.o
util.c:404:9: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (isnan(value)) {
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
util.c:406:16: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
} else if (isinf(value)) {
^
/usr/include/math.h:116:18: note: expanded from macro 'isinf'
#define isinf(x) __fp_type_select(x, __isinff, __isinf, __isinfl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
2 warnings generated.
CC object.o
object.c:122:9: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (isinf(value)) {
^
/usr/include/math.h:116:18: note: expanded from macro 'isinf'
#define isinf(x) __fp_type_select(x, __isinff, __isinf, __isinfl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
object.c:558:17: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
isnan(value))
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
object.c:596:36: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
errno == ERANGE || isnan(value))
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
3 warnings generated.
CC db.o
CC replication.o
CC rdb.o
rdb.c:382:9: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (isnan(val)) {
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
rdb.c:385:17: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
} else if (!isfinite(val)) {
^
/usr/include/math.h:115:21: note: expanded from macro 'isfinite'
#define isfinite(x) __fp_type_select(x, __isfinitef, __isfinite, __isfinitel)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
2 warnings generated.
CC t_string.o
t_string.c:396:9: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (isnan(value) || isinf(value)) {
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
t_string.c:396:25: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (isnan(value) || isinf(value)) {
^
/usr/include/math.h:116:18: note: expanded from macro 'isinf'
#define isinf(x) __fp_type_select(x, __isinff, __isinf, __isinfl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
2 warnings generated.
CC t_list.o
CC t_set.o
CC t_zset.o
t_zset.c:115:18: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
redisAssert(!isnan(score));
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
./redis.h:399:27: note: expanded from macro 'redisAssert'
#define redisAssert(_e) ((_e)?(void)0 : (_redisAssert(#_e,__FILE__,__LIN...
^
t_zset.c:443:36: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (eptr[0] != '\0' || isnan(spec->min)) return REDIS_ERR;
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
t_zset.c:447:36: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (eptr[0] != '\0' || isnan(spec->min)) return REDIS_ERR;
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
t_zset.c:455:36: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (eptr[0] != '\0' || isnan(spec->max)) return REDIS_ERR;
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
t_zset.c:459:36: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (eptr[0] != '\0' || isnan(spec->max)) return REDIS_ERR;
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
t_zset.c:1227:25: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (isnan(score)) {
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
t_zset.c:1264:25: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
if (isnan(score)) {
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
t_zset.c:1832:13: warning: generic selections are a C11-specific feature
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
10 warnings generated.
CC t_hash.o
CC config.o
CC aof.o
CC pubsub.o
CC multi.o
CC debug.o
debug.c:899:60: warning: unused parameter 'secret' [-Wunused-parameter]
void watchdogSignalHandler(int sig, siginfo_t *info, void *secret) {
^
1 warning generated.
CC sort.o
sort.c:446:25: warning: generic selections are a C11-specific feature
[-Wc11-extensions]
isnan(vector[j].u.score))
^
/usr/include/math.h:118:2: note: expanded from macro 'isnan'
__fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
^
/usr/include/math.h:86:39: note: expanded from macro '__fp_type_select'
#define __fp_type_select(x, f, d, ld) _Generic((x), \
^
1 warning generated.
CC intset.o
CC syncio.o
CC cluster.o
CC crc16.o
CC endianconv.o
CC slowlog.o
CC scripting.o
CC bio.o
CC rio.o
CC rand.o
CC memtest.o
CC crc64.o
CC bitops.o
CC sentinel.o
CC notify.o
CC setproctitle.o
CC blocked.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
CC redis-check-dump.o
LINK redis-check-dump
CC redis-check-aof.o
LINK redis-check-aof
This was also visible on 2.8.x
Comment From: yossigo
Very old ticket, FreeBSD builds should be clean now.