前回$(shell /usr/bin/wx-config)を試した時、すぐにビルド問題について騒ぎになった。当時は調査する時間がなかった。
$(shell /usr/bin/wx-config)の問題の一つは、そこにたまたまあるどのバージョン(wx 2.8)やどの設定(非 UTF-8)の wxWidgets でも拾ってしまうことだ。-lwx_gtk2ud-2.9 は正しい設定にのみ一致する。wxWidgets が間違った設定でビルドされていると失敗する。
参考までに、Gentoo には特定の wxWidgets バージョンに対して以下の回避策がある:
$ eselect wxwidgets list
Available wxWidgets profiles:
[1] gtk2-ansi-release-2.6
[2] gtk2-unicode-2.9 *
[3] gtk2-unicode-release-2.6
[4] gtk2-unicode-release-2.8
$ /usr/bin/wx-config --version
2.9.1
# eselect wxwidgets set 1
Setting wxWidgets profile to gtk2-ansi-release-2.6
$ /usr/bin/wx-config --version
2.6.4
他のディストロについては分からないが。
サトシ・ナカモトこれは私のシステムではパスが /usr/include/wx-2.9/wx/wx.h だからだ
なぜそこにあるのか?OS に含まれていたのか、それともビルドする必要があったのか?ビルドした場合、なぜ別の場所にインストールされるのか不思議だ。
bonsaikitten の IRC より:
<bonsaikitten> necrodearia: それは正しい場所だからそこにある
<bonsaikitten> necrodearia: /usr/local にないのは、そこが正しい場所ではないからだ
<bonsaikitten> さらなる質問はFHSを読めば解決するかもしれない
http://www.pathname.com/fhs/
Gentoo Linux は(99.99%の)パッケージをソースからコンパイルするように設計されているので、そう、私は Gentoo Linux のパッケージ管理ソフトウェアである Portage の ebuild を使って wxGTK をコンパイルした。
BioMikeの投稿(2010年8月27日 05:22 UTC)
- ヘッダーを直す必要があることを覚えておいてくれ。
これが分からない。どのヘッダー?
BioMike
- /home/bticoin?
bitcoin をどこでスペルミスしたか分からない。どのファイル?
BioMike
- Makefile から最適化フラグを取り除いて、ユーザーに指定させろ(あるいは適切に除去しろ)
「最適化フラグ」が何を指すのかはっきりしない。
BioMike
- 静的コードをビルドするな。動的コードをビルドする Makefile を持っている。欲しければ送れる。多少手を入れる必要はあるが。
コードのどの部分が静的で、動的に変換できるのかが分からない。誰もやっていないようだったので ebuild を準備しただけだ。ebuild を完璧にできるほどのスキルはないが、誰か他に改善に貢献したい人がいれば、git リポジトリを用意した: http://github.com/mizerydearia/bitcoin_gentoo_ebuild