Redis编译错误

时间:2012-02-21 13:45:56

标签: ubuntu redis

我正在尝试在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

知道出了什么问题吗?

非常感谢!

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

希望这有帮助