2011-08-09 2 views
0

FreeBSD 64 비트에서 2.4 redis 32bit를 컴파일 할 수 없습니다. 나는 이미 완료했습니다 : 시도가 레디 스를 컴파일 할 때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 비트 라이브러리에 대한 컴파일러를 가리 키도록해야합니다. 당신과 함께 그의 gmake 명령을 접두어로 수행 할 수 있습니다 : = "CC의 -B는/usr/lib32"성공합니다 레디 스 컴파일

CC,하지만 매우 버그가 있습니다. 테스트는 실패하고 여러 상황에서 Redis segfaults가 발생합니다. amd64 FreeBSD에서 64 비트 Redis를 사용하거나 i386에서 32 비트 Redis를 사용하는 것이 좋습니다.

다른 주석 : Redis가 사용하는 독립 실행 형 jemalloc 라이브러리는 FreeBSD에서 빌드되지 않습니다. FreeBSD와 NetBSD 모두에서 기본 할당자를 사용할 수 있습니다. 왜냐하면 기본적으로 이전 버전의 jemalloc을 사용하기 때문입니다.

관련 문제