Gentoo Linux Ebuild

4 件のメッセージ BitcoinTalk サトシ・ナカモト, BioMike, mizerydearia 2010年8月27日 — 2010年8月27日

-datadir= を試してみてほしい。

前回$(shell /usr/bin/wx-config)を試した時、すぐにビルド問題について騒ぎになった。当時は調査する時間がなかった。

$(shell /usr/bin/wx-config)の問題の一つは、そこにたまたまあるどのバージョン(wx 2.8)やどの設定(非 UTF-8)の wxWidgets でも拾ってしまうことだ。-lwx_gtk2ud-2.9 は正しい設定にのみ一致する。wxWidgets が間違った設定でビルドされていると失敗する。

思い出せば、freenodeの#wxwidgetsでチャットした時、そこの開発者はなぜそれが使われているのか困惑していました。

なぜ困惑していたか言っていたか?

私のシステムではパスが/usr/include/wx-2.9/wx/wx.hだからです

なぜそこにあるのか?OS に含まれていたのか、それともビルドする必要があったのか?ビルドした場合、なぜ別の場所にインストールされるのか不思議だ。

wxWidgets 2.9 はついに Debian パッケージとして利用可能になり始めたのか?

おそらくこうすべきだろう:

INCLUDEPATHS=
-I”/usr/local/include/wx-2.9”
-I”/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9”
-I”/usr/include/wx-2.9”
-I”/usr/lib/wx/include/gtk2-unicode-debug-static-2.9”

繰り返すが、これらのパスは 2.9 のみであることを確認し、2.8 では失敗するようにするのに役立つ。

wxWidgets 2.8 には ANSI と UTF-16 があり、どちらも我々には不適切だ。パッケージとして簡単に入手できるため魅力的だが、多くの人が 2.9 を makefile にハードコードし始めるまでフラストレーションを感じていた。

BioMike 2010年8月27日 05:22 UTC 原文 ·

いくつか:

  1. ヘッダーを直す必要があることを覚えておいてくれ。
  2. wxgtk は GUI をビルドするときだけ必要で、デーモンには不要だ(USE フラグで切り替えられるようにしてくれ)
  3. gtk+は wxgtk の依存だから、自分で要求するな。
  4. eselect 経由で他のプログラムが wxwidgets をどう使っているかを確認してくれ(同じシステムに 2.6 と 2.8 をスロットで共存できる、必要なのは 2.9 だ)
  5. /home/bticoin?
  6. Makefile から最適化フラグを取り除いて、ユーザーに指定させろ(あるいは適切に除去しろ)
  7. 静的コードをビルドするな。動的コードをビルドする Makefile を持っている。欲しければ送れる。多少手を入れる必要はあるが。

参考になる読み物: http://devmanual.gentoo.org/ http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml

mizerydearia 2010年8月27日 08:03 UTC 原文 ·
サトシ・ナカモトの投稿(2010年8月27日 00:49 UTC)

前回 $(shell /usr/bin/wx-config) を試したとき、それに関するビルド問題ですぐに騒ぎになった。当時は調査する時間がなかった。

$(shell /usr/bin/wx-config) の問題の一つは、たまたまそこにあるwxWidgetsの任意のバージョン(wx 2.8)と任意の構成(非UTF-8)を拾ってしまうことだ。-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 他のディストロについては分からないが。

サトシ・ナカモトの投稿(2010年8月27日 00:49 UTC)

これは私のシステムではパスが /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)
  1. ヘッダーを直す必要があることを覚えておいてくれ。

これが分からない。どのヘッダー?

BioMikeの投稿(2010年8月27日 05:22 UTC)
  1. /home/bticoin?

bitcoin をどこでスペルミスしたか分からない。どのファイル?

BioMikeの投稿(2010年8月27日 05:22 UTC)
  1. Makefileから最適化フラグを取り除いて、ユーザーに指定させろ(あるいは適切に除去しろ)

「最適化フラグ」が何を指すのかはっきりしない。

BioMikeの投稿(2010年8月27日 05:22 UTC)
  1. 静的コードをビルドするな。動的コードをビルドするMakefileを持っている。欲しければ送れる。多少手を入れる必要はあるが。

コードのどの部分が静的で、動的に変換できるのかが分からない。誰もやっていないようだったので ebuild を準備しただけだ。ebuild を完璧にできるほどのスキルはないが、誰か他に改善に貢献したい人がいれば、git リポジトリを用意した: http://github.com/mizerydearia/bitcoin_gentoo_ebuild

BioMike 2010年8月27日 18:52 UTC 原文 ·
mizerydeariaの投稿(2010年8月27日 08:03 UTC)
BioMikeの投稿(2010年8月27日 05:22 UTC)
  1. ヘッダーを直す必要があることを覚えておいてくれ。

これが分からない。どのヘッダー?

# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-mobilephone/lightblue/lightblue-0.4.ebuild,v 1.3 2010/03/27 17:57:36 arfrever Exp $

このヘッダーだ 😉

mizerydeariaの投稿(2010年8月27日 08:03 UTC)
BioMikeの投稿(2010年8月27日 05:22 UTC)
  1. /home/bticoin?

bitcoinをどこでスペルミスしたか分からない。どのファイル?

私のミスだ。/home/bitcoin と書こうとしていた。私の言いたかったのは、これは /var/lib/bitcoin にすべきだ、ということだ。

mizerydeariaの投稿(2010年8月27日 08:03 UTC)
BioMikeの投稿(2010年8月27日 05:22 UTC)
  1. Makefileから最適化フラグを取り除いて、ユーザーに指定させろ(あるいは適切に除去しろ)

「最適化フラグ」が何を指すのかはっきりしない。

“-msse2 -O3 -march=amdfam10” のようなものだ。Gentoo ユーザーは通常、これらを /etc/make.conf で自分で指定する。

mizerydeariaの投稿(2010年8月27日 08:03 UTC)
BioMikeの投稿(2010年8月27日 05:22 UTC)
  1. 静的コードをビルドするな。動的コードをビルドするMakefileを持っている。欲しければ送れる。多少手を入れる必要はあるが。

コードのどの部分が静的で、動的に変換できるのかが分からない。誰もやっていないようだったのでebuildを準備しただけだ。ebuildを完璧にできるほどのスキルはない。ただ、誰か他に改善に貢献したい人がいれば、gitリポジトリを用意した: http://github.com/mizerydearia/bitcoin_gentoo_ebuild

それは手伝える。もう一つあると良いのは、起動時にデーモンを起動・停止する init.d スクリプトだ。ああ……すでに入っている。