*** 警告 *** 0.3.6に今すぐアップグレードしてください!

できるだけ早く0.3.6にアップグレードしてほしい!不正なトランザクションが承認済みとして表示される可能性がある実装上のバグを修正した。バージョン0.3.6にアップグレードするまで、ビットコインのトランザクションを支払いとして受け入れないでほしい!

すぐに0.3.6にアップグレードできない場合は、アップグレードするまでビットコインノードをシャットダウンすることを勧める。

0.3.6にはハッシュ計算の高速化も含まれている:

  • tcatmによるmidstateキャッシュ最適化
  • BlackEyeによるCrypto++ ASM SHA-256 生成速度の合計で2.4倍の高速化。

ダウンロード: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.6/

WindowsおよびLinuxユーザーの方へ:0.3.5を入手した場合でも、0.3.6へのアップグレードが必要だ。

できるだけ早く0.3.6にアップグレードしてくれ! 偽のトランザクションが承認済みとして表示される可能性がある実装バグを修正した。バージョン0.3.6にアップグレードするまで、Bitcoinトランザクションを支払いとして受け入れないでほしい!

すぐに0.3.6にアップグレードできない場合は、アップグレードするまでBitcoinノードをシャットダウンすることをお勧めする。

また、0.3.6ではハッシュが高速化されている:

  • tcatmの功績によるmidstateキャッシュ最適化
  • BlackEyeの功績によるCrypto++ ASM SHA-256 生成速度の合計高速化は2.4倍だ。

ダウンロード: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.6/

WindowsとLinuxのユーザーへ:0.3.5を入手済みでも、0.3.6にアップグレードする必要がある。

公式Linux-64bitビルドをFedora 13で実行したところ、ひどく失敗した:

Code:************************ EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in AppInit()


EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in CMyApp::OnUnhandledException()

terminate called after throwing an instance of ‘DbRunRecoveryException’ what(): DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery

俺のBitcoinが食われてないことを祈る…

knightmb 2010年7月29日 原文 · 個別ページ

Quote from: jgarzik on July 29, 2010, 07:42:15 PM

公式Linux-64bitビルドをFedora 13で実行したところ、ひどく失敗した:

Code:************************ EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in AppInit()


EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in CMyApp::OnUnhandledException()

terminate called after throwing an instance of ‘DbRunRecoveryException’ what(): DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery

俺のBitcoinが食われてないことを祈る…

大丈夫だと思う、こっちも吹っ飛んだ。旧バージョンを実行すれば、コインは全部見えるはずだ。次のLinuxリリースに備えてまずバックアップしておけ。

Quote from: jgarzik on July 29, 2010, 07:42:15 PM

公式Linux-64bitビルドをFedora 13で実行したところ、ひどく失敗した:

Code:************************ EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in AppInit()


EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in CMyApp::OnUnhandledException()

terminate called after throwing an instance of ‘DbRunRecoveryException’ what(): DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery

俺のBitcoinが食われてないことを祈る…

別のマシンでも同じ結果だ。BDBエラーで死亡。64bit Linuxの0.3.5は問題がある。32bit Linuxのビルドと混同していないか?

debug.logの内容: Code:Bitcoin version 0.3.5 beta Default data directory /g/g/.bitcoin Bound to port 8333 Loading addresses… dbenv.open strLogDir=/garz/bitcoin/data/database strErrorFile=/garz/bitcoin/data/db.log


EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in AppInit()

Quote from: knightmb on July 29, 2010, 07:47:37 PM

Quote from: jgarzik on July 29, 2010, 07:42:15 PM

公式Linux-64bitビルドをFedora 13で実行したところ、ひどく失敗した:

Code:************************ EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in AppInit()


EXCEPTION: 22DbRunRecoveryException
DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery
bitcoin in CMyApp::OnUnhandledException()

terminate called after throwing an instance of ‘DbRunRecoveryException’ what(): DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery

俺のBitcoinが食われてないことを祈る…

大丈夫だと思う、こっちも吹っ飛んだ。旧バージョンを実行すれば、コインは全部見えるはずだ。次のLinuxリリースに備えてまずバックアップしておけ。

ダブルACK Smiley

古いバージョン(SVN 117 + listtransactions + getinfo KHPS)は問題なく動作、すべてのビットコインが存在する。そして確かに、「アップグレードしてください」の指示に従う前にバックアップすべきだった…… Smiley

knightmb 2010年7月29日 原文 · 個別ページ

[Deleted] Quote from: davidonpda on July 29, 2010, 07:51:38 PM

Windows ユーザーはとりあえず3.5にアップグレードできるか?

はい、Windows XP、2003、7でテスト済み、すべて問題なく通った。速度向上も楽しめるだろう。Wink

[えっ、待った、新バージョンが出るところだ]

まだSVNを更新する時間がなかった。0.3.6を待ってくれ、今ビルドしている。その間、ノードをシャットダウンしておいてもかまわない。

SVNをバージョン0.3.6に更新した。

0.3.6のWindowsビルドをSourceforgeにアップロード中だ。その後、Linuxを再ビルドする。

RudeDude 2010年7月29日 原文 · 個別ページ

ハ!変更内容の1つは”0.3.3”を”0.3.6”に更新した部分があるが、それはアップデートの重要な部分ではない。:-)

SVN r119はここでは問題なく動作する。BDBの爆発はなし。

knightmb 2010年7月29日 原文 · 個別ページ

Windowsビルドを XP、2003、Vista、7(32ビットと64ビットの両方)でテスト済み、クライアントのインストールと実行に問題なし。今のところ順調、Linuxクライアントが楽しみだ。Wink

0.3.6のLinuxビルドは古いmakefile.unixに戻った。libjpegを静的リンクしているので、問題はないはずだ。

これでうまく動作しているか?

22DbRunRecoveryExceptionが発生し、以前に他の人のビルドを使用したことがある場合は、database/log.000000*を削除(またはファイルを別の場所に移動)する必要があるかもしれない。

WindowsとLinuxのユーザーへ:0.3.5を入手済みでも、0.3.6にアップグレードする必要がある。

bitcoinex 2010年7月29日 原文 · 個別ページ

Linux用の0.3.6バイナリは、Debian squeeze/sidの自分の2台のマシン(64bitと32bit)で問題なく動作した。

Quote from: bitcoinex on July 29, 2010, 09:27:15 PM

Linux用の0.3.6バイナリは、Debian squeeze/sidの自分の2台のマシン(64bitと32bit)で問題なく動作した。

差し支えなければ、成功/失敗の報告時にOS名とOSバージョンを投稿してほしい

別のフォーラムメンバーからサトシへの提案を繰り返す:より広い互換性を確保するために、古いLinux OSでLinuxバイナリをビルドすべきだ。CentOS 5くらい古いものでもいいかもしれない(注意:カスタムのopenssl、boost、db4、wxビルドが必要)。

knightmb 2010年7月29日 原文 · 個別ページ

ああ、私のは2.10.1にリンクされている。最新にアップデートして解決するか試してみる Grin

[編集] パッケージでは2.10が上限で、できなかった

knightmb 2010年7月29日 原文 · 個別ページ

Quote from: jgarzik on July 29, 2010, 09:30:08 PM

Quote from: bitcoinex on July 29, 2010, 09:27:15 PM

Linux用の0.3.6バイナリは自分の2台のマシン(64bitと32bit)で問題なく動作した。

差し支えなければ、成功/失敗の報告時にOS名とOSバージョンを投稿してほしい

別のフォーラムメンバーからサトシへの提案を繰り返す:より広い互換性を確保するために、古いLinux OSでLinuxバイナリをビルドすべきだ。CentOS 5くらい古いものでもいいかもしれない(注意:カスタムのopenssl、boost、db4、wxビルドが必要)。 Quote from: bitcoinex on July 29, 2010, 09:27:15 PM Linux用の0.3.6バイナリは、Debian squeeze/sidの自分の2台のマシン(64bitと32bit)で問題なく動作した。

同意する、最先端のディストロパッケージを使っていない我々にとって助かる。Smiley

bitcoinex 2010年7月29日 原文 · 個別ページ

Quote from: jgarzik on July 29, 2010, 09:30:08 PM

Quote from: bitcoinex on July 29, 2010, 09:27:15 PM

Linux用の0.3.6バイナリは自分の2台のマシン(64bitと32bit)で問題なく動作した。

差し支えなければ、成功/失敗の報告時にOS名とOSバージョンを投稿してほしい

別のフォーラムメンバーからサトシへの提案を繰り返す:より広い互換性を確保するために、古いLinux OSでLinuxバイナリをビルドすべきだ。CentOS 5くらい古いものでもいいかもしれない(注意:カスタムのopenssl、boost、db4、wxビルドが必要)。 Quote from: bitcoinex on July 29, 2010, 09:27:15 PM Linux用の0.3.6バイナリは、Debian squeeze/sidの自分の2台のマシン(64bitと32bit)で問題なく動作した。

すまない。Debian GNU/Linux squeeze/sidでバイナリを確認した。

「./bitcoin: /lib64/libc.so.6: version `GLIBC_2.11’ not found (required by ./bitcoin)」は0.3.6から始まった新しい問題ではないよな? これは0.3.0と同じOS環境でビルドされたものだ。

残念ながら、0.3.0の前にUbuntu 10.04にアップグレードしてしまった。もうこれ以上アップグレードしない。ダウングレードのために再インストールする時間がいつ取れるかわからないが、少なくともアップグレードしないことで、徐々に問題は解消されるだろう。

Gooffy 2010年7月29日 原文 · 個別ページ

Ubuntu Linux 9.10

エラー:

/lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.11’ not found Cry

lachesis 2010年7月29日 原文 · 個別ページ

Debianテスティング32ビットで、いくつかのビルドエラーが出る。すべて以下に類似している: Code:script.cpp:114: error: ʻOP_NOP1ʼ was not declared in this scope”make clean”または”make”を先にせずに”make bitcoind”しようとした時にこのエラーが出た。bitcoindのビルド手順はヘッダーを先にコンパイルしないが、headers.h.gchも削除しないので、存在する場合は古いヘッダーが使われるようだ。

このエラーが出た人は、“make clean”してからビルドを再試行するのが最も簡単な解決策だ。

dwdollar 2010年7月29日 原文 · 個別ページ

Quote from: satoshi on July 29, 2010, 09:43:15 PM

「./bitcoin: /lib64/libc.so.6: version `GLIBC_2.11’ not found (required by ./bitcoin)」は0.3.6から始まった新しい問題ではないよな? これは0.3.0と同じOS環境でビルドされたものだ。

残念ながら、0.3.0の前にUbuntu 10.04にアップグレードしてしまった。もうこれ以上アップグレードしない。ダウングレードのために再インストールする時間がいつ取れるかわからないが、少なくともアップグレードしないことで、徐々に問題は解消されるだろう。

変だな、0.3.3はそのマシンで問題なく動いていた。大した問題ではない、どのみちそのマシンをアップグレードする必要がある。

Odin 2010年7月29日 原文 · 個別ページ

Quote from: WMFrend on July 29, 2010, 10:08:14 PM

Ubuntu Linux 9.10

エラー:

/lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.11’ not found Cry

dpkg -l | egrep "(libc6|glibc)"
# 現在インストールされているバージョンが表示される

# おそらくglibc version 2.10以前がインストールされている。

apt-get update
apt-cache showpkg libc6 | less
# (下の方で)2.11バージョンが利用可能か確認する

# 以下でアップグレードできるかもしれない:
apt-get upgrade libc6

# 上記は本来のDebianシステム用の手順で、Ubuntuでも動くかもしれない

Quote from: lachesis on July 29, 2010, 10:14:36 PM

Debianテスティング32ビットで、いくつかのビルドエラーが出る。すべて以下に類似している: Code:script.cpp:114: error: ʻOP_NOP1ʼ was not declared in this scope”make clean”または”make”を先にせずに”make bitcoind”しようとした時にこのエラーが出た。bitcoindのビルド手順はヘッダーを先にコンパイルしないが、headers.h.gchも削除しないので、存在する場合は古いヘッダーが使われるようだ。

このエラーが出た人は、“make clean”してからビルドを再試行するのが最も簡単な解決策だ。

Code:script.cpp:114: error: OP_NOP1 was not declared in this scope「make clean」や「make」を先に行わずに「make bitcoind」を実行した時にこのエラーが出た。bitcoindのビルド手順ではヘッダーが先にコンパイルされないようだが、headers.h.gchも削除されないため、存在する場合は古いヘッダーが使用される。

他にもこのエラーが出た方がいれば、最も簡単な解決策は「make clean」してからビルドを再試行することだ。 プリコンパイル済みヘッダーは実際には必要ない。コンパイルがわずかに速くなるだけだ。廃止しようと思う。それでも、残ったファイルを削除するために、もう一度「make -f makefile.unix clean」を実行するかheaders.h.gchを削除する必要がある。

あのGLIBC_2.11のせいで。アップデートを受け入れないよう注意していたと思っていたのに。

andy_3_913 2010年7月30日 原文 · 個別ページ

BCに自動アップデート機能を組み込むことは可能だろうか?

HostFat 2010年7月30日 原文 · 個別ページ

Quote from: andy_3_913 on July 30, 2010, 04:04:51 PM

BCに自動アップデート機能を組み込むことは可能だろうか?

それはもうここで提案済みだ :| http://bitcointalk.org/index.php?topic=259.0

andy_3_913 2010年7月30日 原文 · 個別ページ

Quote from: Joozero on July 30, 2010, 04:49:25 PM

Quote from: andy_3_913 on July 30, 2010, 04:04:51 PM

BCに自動アップデート機能を組み込むことは可能だろうか?

それはもうここで提案済みだ :| http://bitcointalk.org/index.php?topic=259.0 Quote from: andy_3_913 on July 30, 2010, 04:04:51 PM BCに自動アップデート機能を組み込むことは可能だろうか?

すまない!Smiley

knightmb 2010年7月30日 原文 · 個別ページ

これらのビルドを作るのにどれだけ苦労したか想像できる。自分はUbuntu 9.04上でプログラムをビルドしようとしているが、パッケージをインストールしてソースをコンパイルし続けても、依存関係を全部見つけられない(笑)。

Quote from: knightmb on July 30, 2010, 07:24:07 PM

これらのビルドを作るのにどれだけ苦労したか想像できる。自分はUbuntu 9.04上でプログラムをビルドしようとしているが、パッケージをインストールしてソースをコンパイルし続けても、依存関係を全部見つけられない(笑)。

なぜそんなに苦労しているのか理解できない。build-unix.txtの手順に従っただけだ。Boost 1.37用にちょっとした修正を加えたが、次回SVNを更新する時にアップロードする。以下に記載する:

依存関係
------------
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libdb4.7-dev
sudo apt-get install libdb4.7++-dev
sudo apt-get install libboost-all-dev(またはlibboost1.37-dev)

wxWidgets
---------
cd /usr/local
tar -xzvf wxWidgets-2.9.0.tar.gz
cd /usr/local/wxWidgets-2.9.0
mkdir buildgtk
cd buildgtk
../configure --with-gtk --enable-debug --disable-shared --enable-monolithic
make
sudo su
make install
ldconfig

makefile.unixにコメントを追加:

# boost 1.37の場合、boostライブラリに-mtを追加
LIBS= \
 -Wl,-Bstatic \
   -l boost_system \
   -l boost_filesystem \
   -l boost_program_options \
   -l boost_thread \
   -l db_cxx \
   -l crypto \
 -Wl,-Bdynamic \
   -l gthread-2.0
knightmb 2010年7月30日 原文 · 個別ページ

Quote from: satoshi on July 30, 2010, 07:53:06 PM

Quote from: knightmb on July 30, 2010, 07:24:07 PM

これらのビルドを作るのにどれだけ苦労したか想像できます。Ubuntu 9.04の環境でプログラムをビルドしようとしていますが、パッケージをインストールしたりソースをコンパイルしたりしても、すべての依存関係を見つけられません(笑)。

なぜそんなに苦労しているのか理解できない。build-unix.txtの手順に従っただけだ。Boost 1.37用にちょっとした修正を加えたが、次回SVNを更新する時にアップロードする。以下に記載する:

依存関係
------------
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libdb4.7-dev
sudo apt-get install libdb4.7++-dev
sudo apt-get install libboost-all-dev(またはlibboost1.37-dev)

wxWidgets
---------
cd /usr/local
tar -xzvf wxWidgets-2.9.0.tar.gz
cd /usr/local/wxWidgets-2.9.0
mkdir buildgtk
cd buildgtk
../configure --with-gtk --enable-debug --disable-shared --enable-monolithic
make
sudo su
make install
ldconfig

makefile.unixにコメントを追加:

# boost 1.37の場合、boostライブラリに-mtを追加
LIBS= \
 -Wl,-Bstatic \
   -l boost_system \
   -l boost_filesystem \
   -l boost_program_options \
   -l boost_thread \
   -l db_cxx \
   -l crypto \
 -Wl,-Bdynamic \
   -l gthread-2.0

その最後のハイライト部分が原因だった。そのコマンドではすべてのlibboostパッケージをインストールできない(*でも試した)が、問題の一部はlibboostに関する「すべて」をインストールすると文字通りに解釈しすぎたことだ、笑。

実際には、libboost1.37-devパッケージだけで、すべてのコンパイルエラーが消えた。それ以外は、独自のwxWidgetsのコンパイル、Boost 1.4のコンパイルなど、すべて問題なく動いた。

つまり最後のコマンドは単純に sudo apt-get install libboost1.37-dev

余談だが、Ubuntu 64bitシステムでコンパイルしたので、できたプログラムは64bit対応になった。いくつかの64bitシステムでテスト中だ。

Quote from: knightmb on July 30, 2010, 08:04:19 PM

Quote from: satoshi on July 30, 2010, 07:53:06 PM

Quote from: knightmb on July 30, 2010, 07:24:07 PM

これらのビルドを作るのにどれだけ苦労したか想像できます。Ubuntu 9.04の環境でプログラムをビルドしようとしていますが、パッケージをインストールしたりソースをコンパイルしたりしても、すべての依存関係を見つけられません(笑)。

なぜそんなに苦労しているのか理解できない。build-unix.txtの手順に従っただけだ。Boost 1.37用にちょっとした修正を加えたが、次回SVNを更新する時にアップロードする。以下に記載する:

依存関係
------------
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libdb4.7-dev
sudo apt-get install libdb4.7++-dev
sudo apt-get install libboost-all-dev(またはlibboost1.37-dev)

wxWidgets
---------
cd /usr/local
tar -xzvf wxWidgets-2.9.0.tar.gz
cd /usr/local/wxWidgets-2.9.0
mkdir buildgtk
cd buildgtk
../configure --with-gtk --enable-debug --disable-shared --enable-monolithic
make
sudo su
make install
ldconfig

makefile.unixにコメントを追加:

# boost 1.37の場合、boostライブラリに-mtを追加
LIBS= \
 -Wl,-Bstatic \
   -l boost_system \
   -l boost_filesystem \
   -l boost_program_options \
   -l boost_thread \
   -l db_cxx \
   -l crypto \
 -Wl,-Bdynamic \
   -l gthread-2.0

その最後のハイライト部分が原因だった。そのコマンドではすべてのlibboostパッケージをインストールできない(*でも試した)が、問題の一部はlibboostに関する「すべて」をインストールすると文字通りに解釈しすぎたことだ、笑。

実際には、libboost1.37-devパッケージだけで、すべてのコンパイルエラーが消えた。それ以外は、独自のwxWidgetsのコンパイル、Boost 1.4のコンパイルなど、すべて問題なく動いた。

つまり最後のコマンドは単純に sudo apt-get install libboost1.37-dev

余談だが、Ubuntu 64bitシステムでコンパイルしたので、できたプログラムは64bit対応になった。いくつかの64bitシステムでテスト中だ。

sudo apt-get install libboost1.37-dev にすればいい ただし、それはboost 1.40以降(Ubuntu 10.04)では動作しない。その場合はlibboost-all-devを入手する必要がある。

最近Boostの仕様がいろいろ変わったようで、「-mt」などの問題もあり、大変だ。

ちなみに、Boost 1.34を試したが、boost.interprocessがなかった。

Mac OSX版が利用可能になった。bitcoin.orgまたはSourceForgeのリンクを見てくれ。