我正在尝试在Ubuntu 11.10上安装redis 2.2.5。正在运行make
会出现以下错误:
cc -o redis-server -std=c99 -pedantic -O2 -Wall -W -lm -pthread -g -rdynamic -ggdb adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o vm.o pubsub.o multi.o debug.o sort.o intset.o syncio.o
vm.o: In function `computeObjectSwappability':
/home/prakhar/redis-2.2.5/src/vm.c:446: undefined reference to `log'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/home/prakhar/redis-2.2.5/src'
make: *** [all] Error 2
知道出了什么问题吗?
非常感谢!
答案 0 :(得分:0)
'log'这里是一个函数名,用于计算对数。
我猜这个错误是因为链接器找不到libm.a(即'log'函数所在的数学库)。
您最好检查系统上是否存在数学库
答案 1 :(得分:0)
尝试执行
make distclean
我收到了错误消息:"jemalloc/jemalloc.h: No such file or directory"
也许它来自同一个家庭
另外,有时Ubuntu上缺少一些软件包。尝试安装
sudo apt-get -y install build-essential
希望这有帮助