gpt4 book ai didi

gcc - 如何在 FreeBSD 8.1 64 位上使用 "gmake 32bit USE_JEMALLOC=yes"for redis

转载 作者:可可西里 更新时间:2023-11-01 11:45:43 24 4
gpt4 key购买 nike

我无法在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com