2011-08-09 71 views
0

我無法在FreeBSD 64位上編譯2.4 redis 32bit。我已經做了:如何在FreeBSD 8.1上爲redis工作「gmake 32bit USE_JEMALLOC = yes」64位

cd /usr/lib32 
ftp ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/8.1-RELEASE/lib32/ 
prompt 
mget *.* 
quit 
sh install.sh 
csup -h cvsup.freebsd.org /usr/share/examples/cvsup/standard-supfile 
cd /usr/src; make build32 install32; ldconfig -v -m -R /usr/lib32 

但是當嘗試編譯Redis的獲取:

#gmake 32bit USE_JEMALLOC=yes 
..... 

MAKE linenoise 
gmake[3]: Entering directory `/usr/home/7k7ktest/redis/deps/linenoise' 
cc -m32 -c -Wall -W -Os -g linenoise.c 
cc -m32 -c -Wall -W -Os -g example.c 
cc -m32 -Wall -W -Os -g -o linenoise_example linenoise.o example.o 
/usr/bin/ld: skipping incompatible /usr/lib/libgcc.a when searching for -lgcc 
/usr/bin/ld: skipping incompatible /usr/lib/libgcc.a when searching for -lgcc 
/usr/bin/ld: cannot find -lgcc 
gmake[3]: *** [linenoise_example] Error 1 
gmake[3]: Leaving directory `/usr/home/7k7ktest/redis/deps/linenoise' 
gmake[2]: *** [dependencies] Error 2 
gmake[2]: Leaving directory `/usr/home/7k7ktest/redis/src' 
gmake[1]: *** [32bit] Error 2 
gmake[1]: Leaving directory `/usr/home/7k7ktest/redis/src' 
gmake: *** [32bit] Error 2 

回答

0

您需要將編譯器的32個庫這個工作了。你可以用前綴的使用gmake命令這樣做:

CC = 「CC-B的/ usr/LIB32」

編譯Redis的將是成功的,但它是非常錯誤。在很多情況下,測試失敗,Redis出現故障。我建議只在64位Redis上使用amd64 FreeBSD,或者在i386上使用32位Redis。

另一種評論:Redis使用的獨立jemalloc庫不會構建在FreeBSD上。您可以在FreeBSD和NetBSD中使用默認分配器,因爲默認情況下它們使用早期版本的jemalloc。

相關問題