Re: Linux ビルド

ここまで移植した分を svn/branches にアップロードしました。Util、script、db とヘッダーは完全にコンパイルできるようになり、net.cpp は部分的にコンパイルできるので、まだ作業が残っています。

_beginthread には Linux の直接的な等価物がないので、代わりに Boost スレッドを使いました。

Tor SOCKS プロキシを使って接続できませんでした。Freenode の Tor ポリシーで、彼らの隠しサービスへの接続が必要だからかもしれません:http://freenode.net/irc_servers.shtml#tor

サトシ・ナカモトのメール(2009年10月31日 20:09 UTC)

heapchk()は MSVCRT のデバッグ用のもので使われていない。Linux では no-op に できる。OpenSSL は Linux では自動的に/dev/urandom を使ってシードするので、 RandAddSeedPerfmon も no-op にできる。

十分にオフネットでテストするまでネットワークに接続させないでくれ。2 台の パソコンがあれば、インターネットを切断して「bitcoin -connect=」で互いに 接続できる。1 台は Windows、もう 1 台は Linux で。-connect を使えば 192.168.x.x のようなルーティング不可能なアドレスにも接続できる。まだ想定 していなかった不正なデータを送り出したり、ネットワーク上で何か反社会的な ことをしてしまったりして、ネットワークの信頼性に悪影響を与えたくない。

ビルドできる状態のものができたら、テストする時間はある。今実施中の変更に 対するストレステストに含めることができるよ。

マルッティ・マルミのメール(2009年10月31日 09:21 UTC)

util.h で QueryPerformanceCounter を Linux の gettimeofday に置き換える #ifdef を作りました。Unicode/ANSI のエラーは wxWidgets 2.9 にアップデート したらコード変更なしで解決しました。現在 Linux で出ている唯一のコンパイル エラーは util.h の heapchk()からのものです。

サトシ・ナカモトのメール(2009年10月30日 01:05 UTC)

見つけた移植性のないコードをいくつか修正した: QueryPerformanceCounter printf フォーマット文字列の%I64d Sleep CheckDiskSpace

他に修正すべき移植性のないコードを知っていたら教えてほしい。

debug.log と db.log は、現在のディレクトリではなく、データファイルと同じ ディレクトリ(%appdata%\Bitcoin)に移動しようと思う。

原典の外部ソース

https://mmalmi.github.io/satoshi/
2024 年 2 月、COPA 対ライト裁判の証言の一環として GitHub で公開

他の外部ソース