Mac での SVN r115 ビルドエラー:回避策

3 件のメッセージ BitcoinTalk ギャビン・アンドレセン, サトシ・ナカモト 2010年7月28日 — 2010年7月28日

以下のエラーが出る:

/var/folders/n7/n7Do3Krz2RWPeE+1YxvhUU+++TM/-Tmp-//cc8PgHsQ.s:879:suffix or operands invalid for `call'
……Mac(gccバージョン4.2.1)でcryptopp/sha.cpp(最新SVNソース)をコンパイルしている時だ。

makefile に-DCRYPTOPP_DISABLE_ASM を追加して修正した。Mac で C++をコンパイルする経験が豊富な人なら、もっと良い修正を見つけられるかもしれない。

OSX ビルドで壊したのはそれだけだったのか?! その一箇所の変更だけで実際に動作するのか?

makefile.vc でも同じことをしなければならなかった。コンパイルはできたが、SHA-256 が正しく動作せず、毎回同じ不正なハッシュを返していた。

今は無効にしておき、誰かが修正方法を見つけたら再度有効にしよう。midstate 最適化により、まだ 1.7倍高速だ。

Crypto++ ASM SHA-256 は Linux と Windows(MinGW)の GCC で動作する。

この makefile.osx の変更を SVN にアップロードした。(これでコンパイルできるか教えてくれ)

サトシ・ナカモトの投稿(2010年7月28日 21:23 UTC)

OSX ビルドで壊したのはそれだけだったのか?! その一箇所の変更だけで実際に動作するのか?

SVN r115 の変更をマージした TEST ネットワーク用の bitcoind をビルドしたが、そう、あの一つの変更だけで、午後の間ずっと機嫌よくコインを生成し続けている。 ただし俺は標準の makefile.osx は使っていない。依存ディレクトリの構造を少し違うやり方で組んでいる(特にこれといった理由はないのだが)。