2012-02-21 14 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

が、これは

を役に立てば幸い

をインストールしてください