2012-02-21 1 views
1

Я пытаюсь установить redis 2.2.5 на Ubuntu 11.10. Бег 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

Try выполнения

make distclean

я имел ошибку: "jemalloc/jemalloc.h: No such file or directory" может быть, это происходит от того же семейства

также , некоторые пакеты иногда отсутствуют на Ubuntu. Попробуйте установить

sudo apt-get -y install build-essential

Надеется, что это помогает