2012-02-21 73 views
1

我試圖在Ubuntu 11.10上安裝redis 2.2.5。運行make給我以下錯誤:Redis編譯錯誤

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

'log'這裏是一個函數名,用來計算出對數。

我想這個錯誤是因爲鏈接器找不到libm.a(即'log'函數所在的數學庫)。

你最好檢查你的系統中存在一個數學庫

0

嘗試執行

make distclean

我有錯誤:"jemalloc/jemalloc.h: No such file or directory" 也許它來自同一個家庭

也有時在Ubuntu上缺少一些軟件包。嘗試安裝

sudo apt-get -y install build-essential

希望這有助於