2011-08-09 3 views
0

FreeBSD 64ビットで2.4 redis 32bitをコンパイルできません。私はすでにやった:試みはRedisのをコンパイルするときFreeBSD 8.1でのredis作業のために "gmake 32bit USE_JEMALLOC = yes"にするには

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 

は、しかし、私は得る:

#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ビットライブラリへのコンパイラを指すようにする必要があります。

CC = "ccの-Bは/ usr/lib32が"

Redisのは成功するだろうが、それは非常にバグがあるのコンパイル:あなたはではgmakeコマンドを付けることによってそれを行うことができます。テストは失敗し、多くの状況でRedisセグメンテーションが失敗します。 amd64 FreeBSDでは64ビットRedis、i386では32ビットRedisを使用することをお勧めします。

もう1つのコメント:Redisが使用するスタンドアロンのjemallocライブラリはFreeBSD上に構築されていません。 FreeBSDとNetBSDの両方でデフォルトアロケータを使用することができます。これらのアロケータは、デフォルトでは以前のバージョンのjemallocを使用するためです。

関連する問題