wxWidgets なしの bitcoind

5 件のメッセージ BitcoinTalk サトシ・ナカモト, ジェフ・ガージック, rodin, ArtForz, lachesis 2010年7月26日 — 2010年7月27日

bitcoind の残りわずかな wxBase 依存を置き換えた。

bitcoind は SVN リビジョン 112 で wxWidgets や wxBase なしでコンパイルできるようになった。

main(int argc, char* argv[])が init.cpp に追加された。CMyApp とスタートアップフォルダー関連のコードは ui.cpp に移動された。ui.cpp と uibase.cpp は bitcoind ではリンクされない。

Makefile では GUI の使用を制御するために-DGUI を使用している。

MinGW、VC、Ubuntu でテストコンパイルした。Mac OS X のビルドを壊していないかわからないので、誰かが確認する必要がある。

素晴らしい、ありがとう!

あとは Fedora が楕円曲線暗号を同梱してくれさえすれば、Fedora でもビルドできるんだがな。(Fedora は特許の制約を理由にそれを除外している)

rodin 2010年7月26日 原文 · 個別ページ

誰か他に Ubuntu でビルドを試した人はいるか?boost_threads ライブラリで変なリンカエラーが出る。クライアントが今や boost threads を使うようになったということと、私の boost のインストールが妙な状態になっていること以外、Bitcoin 自体とは関係がない。私がここで間抜け面をしている間に、誰か他に再現できる人はいるか?

g++ -O2 -Wno-invalid-offsetof -Wformat -g -D__WXDEBUG__ -D__WXGTK__ -DNOPCH -I”/usr/include” -I”/usr/local/include/wx-2.9” -I”/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9” -o bitcoind -L”/usr/lib” -L”/usr/local/lib” obj/nogui/util.o obj/nogui/script.o obj/nogui/db.o obj/nogui/net.o obj/nogui/irc.o obj/nogui/main.o obj/nogui/rpc.o obj/nogui/init.o obj/sha.o -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 /usr/bin/ld: cannot find -lboost_thread collect2: ld returned 1 exit status make: *** [bitcoind] Error 1

libboostthread が見つからないようだ。だが、

~/dev/bitcoin/trunk$ locate libboost_thread /usr/local/lib/libboost_thread.so /usr/local/lib/libboost_thread.so.1.40.0

ArtForz 2010年7月26日 原文 · 個別ページ
rodinの投稿(2010年7月26日 18:22)

g++ -O2 -Wno-invalid-offsetof -Wformat -g -D__WXDEBUG__ -D__WXGTK__ -DNOPCH -I”/usr/include” -I”/usr/local/include/wx-2.9” -I”/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9” -o bitcoind -L”/usr/lib” -L”/usr/local/lib” obj/nogui/util.o obj/nogui/script.o obj/nogui/db.o obj/nogui/net.o obj/nogui/irc.o obj/nogui/main.o obj/nogui/rpc.o obj/nogui/init.o obj/sha.o -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 /usr/bin/ld: cannot find -lboost_thread collect2: ld returned 1 exit status make: *** [bitcoind] Error 1

libboostthreadが見つからないようだ。だが、

~/dev/bitcoin/trunk$ locate libboost_thread /usr/local/lib/libboost_thread.so /usr/local/lib/libboost_thread.so.1.40.0

-l boost_thread が-Bstatic の後ろに来ているのに注目しろ。 libboost_thread を静的リンクしようとしていて、libboost_thread.a が見つからないんだ。

lachesis 2010年7月27日 原文 · 個別ページ
サトシ・ナカモトの投稿(2010年7月26日 17:23)

bitcoindに残っていた最後のいくつかのwxBase依存を置き換えた。

SVN rev 112では、bitcoindはwxWidgetsもwxBaseもなしでコンパイルできるようになっている。

main(int argc, char* argv])をinit.cppに追加した。CMyAppとStartupフォルダー関連はui.cppに移した。bitcoindはui.cppとuibase.cppをリンクしない。

makefileには、GUIを使うかどうかを制御する-DGUIがある。

MinGW、VC、Ubuntuでコンパイルテストした。Mac OSXのビルドを壊していないかは分からない。誰か確認してほしい。

最高だ!本当に素晴らしいニュースだ。これには wxbase がソフトウェアと統合されすぎていると思っていたんだが、間違っていてよかった。