ビットコイン・インスティテュート

Linuxディストリビューションの​ダウンロード

Odin 2010年7月29日03:22 UTC

こんにちは、

私はソフトウェア開発者で、Linuxでのビルドには詳しいが、ほかの人たちがもっと楽にできるよう、いくつかヒントを出そうと思った。

動的リンクしたLinux向けの単一のダウンロードパッケージを配布するときに、一つ大事な点がある。「使える最も古いバージョンのglibc/libstdc++を使うべきだ。つまり、新しい機能やバグ修正が必要だと分かっていないかぎり、実行時のライブラリはもっと新しく、それらの修正を含んでいるものと考えてほしい。」

最新版のglibc/libstdc++にリンクすることの問題は、(これらのバイナリを動かすために)ユーザーにも最新のシステムを強いてしまう点だ。特別な理由がないかぎり、それを必須の前提にすべきではない。そういう理由があるなら、ドキュメントで説明すべきだ。古いシステムで普通にリンクすれば、その古いシステムでも最新のシステムでも動く。

特定の新しいGCC最適化が本当に必要なCコードの部分があるなら、最新のGCCで一度生成したASMのダンプファイル(*.s)を用意してソースに含め、誰でも(古いGCCでも)コンパイルできるようにすることを考えてほしい。

いくつか勧めておく:

  • バイナリのビルドには、使える最も古いベースのディストリビューションを使う。たとえば、今のDebianリリースの最新のコピーではなく、_前回_のDebianリリースの最新のコピーだ。
  • 静的バイナリを含むダウンロードを用意する(リンク時に -staticオプションを使い、実行ファイル名をbitcoind-staticのようにするといい)。これは別のダウンロードファイルにする。
  • ソースディストリビューションのビルドが、必要なライブラリの作業用コピーから動くようにする。特にboostとwxWidgetsで、ビルドにとても新しいバージョンが必要だと分かっているなら、それぞれのビルドツリーから直接ビルドとリンクができるようにする(インストールしなくて済むように)。/usr/localへのインストールは問題になりうる(私にとっては確実に問題だ)が、ビットコイン専用にカレントディレクトリに置くのは問題ない。結局、ビットコインがビルドに必要なのはヘッダーファイルとDSOか*.aへのアクセスで、実行時に必要なのはDSOへのアクセスだ。

24時間365日動くヘッドレスのbitcoindを立ち上げることはできるが、これらの問題のせいで、解決する時間を見つける/作るまでは、今のところできない。