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.