CentOS 6 で Redis 3.2.7 を make すると以下のようなエラーが出ます。
cc -rdynamic -o redis-check-aof redis-check-aof.o -lm -ldl -pthread ../deps/jemalloc/lib/libjemalloc.a
../deps/jemalloc/lib/libjemalloc.a(nstime.o): In function `nstime_get':
/path/to/rpmbuild/BUILD/redis-3.2.7/deps/jemalloc/src/nstime.c:120: undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/path/to/rpmbuild/BUILD/redis-3.2.7/src'
make: *** [all] Error 2
LDFLAGS='-lrt'
をつけて make すれば OK。
gcc のバージョンの問題なようなので、つける必要がない環境もあります。
Amazon Linux 2016.03 以降は普通に make するだけで出来ました(CentOS 7 は未検証)。
RPM の spec ファイルで CentOS6 と Amazon Linux に対応したい場合は、
%{?el6:LDFLAGS='-lrt'}
のようにして CentOS 6 のときだけ LDFLAGS='-lrt'
をつけるようにすると良いです。
ちなみに、Redis 3.2.6 ではこの対応は必要ありませんでした(ので、3.2.7 で入った jemalloc 周りの修正が原因っぽい?)。