1

CentOS5.8でRedis2.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]エラー1make [1]:ディレクトリ `/root/redis-2.6.4/src'を離れますmake:* [すべて]エラー2

私も試してみCFLAGS= -march=i686ましたsrc/Makefileが、うまくいきませんでした。実はどこに置けばいいのかわかりません。ファイルの一番上に置きます。

4

4 に答える 4

2

CFLAGS= -march=i6861 src/Makefileトップに追加

2 src/.make_settingsOPT=-O2をに変更しますOPT=-O2 -march=i686

3その後make 32bit

4make test

それは私にとってはうまくいきます。

追伸 多分あなたはtcl問題を抱えているでしょう

1tclrpm -qa | grep tclバージョンがblow8.5であるかどうかを確認します

もしそうなら2yum remove tcl

3 http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.htmlにアクセスして、最新のものを入手してインストールします

4redisディレクトリに移動しますmake test

于 2013-02-17T06:28:40.067 に答える
1

わかりました、完了しました。正しく機能しているように見える次のコマンドを実行します(後でtcl8.5をインストールする必要があります)。

make 32bit
于 2012-11-20T17:38:09.000 に答える
0

@HungryCoderが言ったように、単純な「make32bit」コマンドが機能します。

ただし、すでにエラーが発生している場合は、実行する前に.make*という名前のファイルを削除した方がよい場合があります。

make distclean
make

それでも問題が解決しない場合は、次のコマンドを実行して、CPUアーチを手動で把握してみてください。

export CFLAGS=`uname -m`
make distclean
make
于 2014-03-03T04:03:41.210 に答える
0

私はそれをコンパイルする際にいくつかの問題があり、最初に次の依存関係をインストールすることで解決しました:

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

その後、問題なく適切なメイクを実行できました

make 32bit

これが誰かに役立つことを願っています。

于 2015-10-02T14:24:19.050 に答える