1、 undefined reference to `clock_gettime' 链接错误的解决办法
安装redis时,编译文件 make 该redis文件夹出现此错误,clock_gettime在实时库librt(real time)里面,由于链接的时候没有链接这个库导致报错。
解决思路:
只需在我们运行的Makefile文件里面添加动态链接库librt ( -lrt ) ,重新编译即可。 操作步骤:
(1)查找实时库librt所在路径:
命令
find / -name '*librt*'
/usr/lib/librt.so (需对应本机所在文件位置)
(2)打开 /home/wm/redis-3.2.7 路径下的Makefile文件:
vim /home/wm/redis-3.2.7/Makefile
(3)修改Makefile文件配置:
105 ifeq ($(MALLOC),jemalloc)
106 DEPENDENCY_TARGETS+= jemalloc
107 FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
108 FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a
109 FINAL_LIBS+= /usr/lib/librt.so #此路径加上librt.so#
110 endif
(4)执行:wq命令保存退出,重新编译即可
安装redis时,编译文件 make 该redis文件夹出现此错误,clock_gettime在实时库librt(real time)里面,由于链接的时候没有链接这个库导致报错。
解决思路:
只需在我们运行的Makefile文件里面添加动态链接库librt ( -lrt ) ,重新编译即可。 操作步骤:
(1)查找实时库librt所在路径:
命令
find / -name '*librt*'
/usr/lib/librt.so (需对应本机所在文件位置)
(2)打开 /home/wm/redis-3.2.7 路径下的Makefile文件:
vim /home/wm/redis-3.2.7/Makefile
(3)修改Makefile文件配置:
105 ifeq ($(MALLOC),jemalloc)
106 DEPENDENCY_TARGETS+= jemalloc
107 FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
108 FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a
109 FINAL_LIBS+= /usr/lib/librt.so #此路径加上librt.so#
110 endif
(4)执行:wq命令保存退出,重新编译即可
2、