CentOS 5.8上的Redis安装错误

时间:2012-11-20 11:52:22

标签: compilation redis centos5

我试图在CentOS 5.8上编译Redis 2.6.4,但在运行make

后我收到以下错误
  

zmalloc.o:在函数zmalloc_used_memory': /root/redis-2.6.4/src/zmalloc.c:223: undefined reference to __ sync_add_and_fetch_4'collect2:ld返回1退出状态make [1]:    * [redis-server]错误1 make [1]:离开目录`/root/redis-2.6.4/src'make:* [all]错误2

我还在CFLAGS= -march=i686中尝试了src/Makefile,但没有效果。实际上,我不知道把它放在哪里。我把文件放在顶部。

4 个答案:

答案 0 :(得分:2)

1将CFLAGS= -march=i686添加到src / Makefile top

2将src / .make_settings OPT=-O2更改为OPT=-O2 -march=i686

3然后make 32bit

4 make test

这适合我。

聚苯乙烯。也许你会遇到tcl问题

1 rpm -qa | grep tcl看看tcl版本是否打击8.5

2如果是yum remove tcl

3前往http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html获取最新版本并安装

4转到redis目录make test

答案 1 :(得分:1)

好的,我完成了。我运行以下命令似乎工作正常(虽然以后我需要安装tcl8.5)。

make 32bit

答案 2 :(得分:0)

正如@HungryCoder所说,简单的“make 32bit”命令会起作用。

但有时,如果您已经遇到错误,最好在运行之前删除名为.make *的文件。

make distclean
make

如果没有帮助,请尝试通过运行以下命令手动找出您的CPU拱门:

export CFLAGS=`uname -m`
make distclean
make

答案 3 :(得分:0)

我在编译时遇到了一些问题,首先安装以下依赖项解决了这个问题:

sudo yum -y install libstdc++*
sudo yum -y install libstdc++*.i686

然后我可以毫无问题地运行正确的制作

make 32bit

我希望这有助于某人。