作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我无法在 FreeBSD 64 位上编译 2.4 redis 32 位。我已经完成了:
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
最佳答案
您需要将编译器指向 32 位库才能解决这个问题。您可以通过在 gmake 命令前添加以下内容来执行此操作:
CC="cc -B/usr/lib32"
编译Redis会成功,但是bug很大。在许多情况下,测试会失败并且 Redis 会出现段错误。我建议在 amd64 FreeBSD 上坚持使用 64 位 Redis,或者在 i386 上坚持使用 32 位 Redis。
另一条评论:Redis 使用的独立 jemalloc 库不是在 FreeBSD 上构建的。您可以在 FreeBSD 和 NetBSD 中使用默认分配器,因为它们默认使用较早版本的 jemalloc。
关于gcc - 如何在 FreeBSD 8.1 64 位上使用 "gmake 32bit USE_JEMALLOC=yes"for redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6995040/
我无法在 FreeBSD 64 位上编译 2.4 redis 32 位。我已经完成了: cd /usr/lib32 ftp ftp://ftp.freebsd.org/pub/FreeBSD/rele
我是一名优秀的程序员,十分优秀!