2015年6月29日月曜日

GTK+を自力でインストールしてみよう① GTK+インストールガイドの翻訳

量が多くて正確さと読みやすさに欠けているがわかりづらいが、雰囲気はこんな感じ。
Google翻訳を使いながらインストールガイドを私なりに素人翻訳したものを以下にのせておく。

あまり英語は得意ではないので、間違ってたら教えてください。

Compiling the GTK+ libraries

GTK+ライブラリのコンパイル - それ自体+ GTKをコンパイルする方法

Building GTK+ on UNIX-like systems

この章では、構築し、UNIXやLinuxなどのUNIX系のシステム上でGTK+をインストールを対象にしています。 Microsoft WindowsでGTK+をコンパイルする場合、詳細が異なっており、必要なツールはオペレーティングシステムに含まれていませんので、軌道に乗るのは幾分困難です。

我々はGTK+をコンパイルする方法の詳細に入る前に、我々は、オペレーティングシステムのベンダーから、または独立した情報源のいずれかから、多くの場合、ご使用のオペレーティング·システム用のGTK+のビルド済みのバイナリパッケージが利用可能になることを言及する必要があります。パッケージのようなセットが利用可能である場合、それをインストールすることで、GTK+それを自分で構築するよりもはるかに高速でプログラミングされます。実際に、あなたも既にすでにシステムにGTK+をインストールしている場合があります。


UNIX系のシステムでGTK+は、標準GNUビルドシステムを使用しています。
  • autoconfを使用してパッケージ構成と、移植性の問題を解決。
  • automakeはGNUコーディング規約に準拠たメイクファイルのビルド。
  • libtoolはマルチプラットフォームで共有ライブラリをビルド。

あなたは、分散ソースパッケージからGTK+を構築している場合は、これらのツールをインストールする必要がありません。ツールの必要な部分は、すでにソースパッケージに含まれています。しかし、それは、これらのツールを使用しているパッケージはどのように機能するかについて少し知っておくと便利です。ソースパッケージは、次のようなtar.bz2やtar.xz圧縮ファイルにまとめられて配布されます。
tar xvfj gtk+-3.2.0.tar.bz2
tar xvfJ gtk+-3.2.0.tar.xz


作成されたトップレベルディレクトリで、あなたは、パッケージにMakefile.inと呼ばれるテンプレートmakeファイルを取り、お使いのオペレーティングシステム用にカスタマイズされたメイクファイルを作成するために実行するシェルスクリプトと呼ばれる構成があるでしょう。 configureスクリプトは、パッケージをビルドしてインストールする方法を決定するために、さまざまなコマンドライン引数を渡すことができます。最も一般的に有用な引数は、パッケージがインストールされている場所を決定する--prefix引数です。/opt/ gtkにパッケージをインストールするにはconfigureを次のように実行します:

./configure --prefix=/opt/gtk

すべてのオプションのリストは--help引数を指定してconfigureを実行することにより確認できます。一般的に、デフォルトは右であり、信頼されるべきです。 configureを実行した後、makeコマンドでパッケージを構築し、それをインストールすることができます。

make
make install


あなたはあなたがインストールしているディレクトリへの書き込み権限を持っていない場合は、一時的にmake installを実行する前に、ルートに変更する必要があります。またLinuxなどのシステムでシステムディレクトリにインストールしている場合、あなたは後にldconfigを実行新しくインストールされたライブラリが発見されるようにインストールを確認する必要があります。

いくつかの環境変数は、configureを実行する前に設定でパス有効にします。 CPPFLAGSに含まれる内容には Cコンパイラに渡すオプションが含まれており、どのファイルをインクルードするファイルを検索する場所をコンパイラに伝えるために使用されます。 LDFLAGS変数は、リンカーに対し同様の方法で使用されています。最後にPKG_CONFIG_PATH環境変数はデフォルトと異なるライブラリを使用してプログラムをコンパイルする際に、pkg-configがファイルを探すときに使用する(下記参照)検索パス設定が含まれています。あなたはGTK+と、その依存関係のあるファイルを/opt/gtkにインストールしようとする場合、あなたはこれらの変数を次のように設定することをお勧めします:

CPPFLAGS="-I/opt/gtk/include"
LDFLAGS="-L/opt/gtk/lib"
PKG_CONFIG_PATH="/opt/gtk/lib/pkgconfig"
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH


システムのダイナミックリンカが新しくインストールしたライブラリを見つけることができるようにLD_LIBRARY_PATH環境変数をセットする必要がある。

さまざまなライブラリによってインストールされているユーティリティのバイナリが発見されるようにPATH環境プログラムをセットする必要がある。

LD_LIBRARY_PATH="/opt/gtk/lib"
PATH="/opt/gtk/bin:$PATH"
export LD_LIBRARY_PATH PATH


Dependencies(依存関係)

    あなたはGTK+ウィジェットツールキットをコンパイルする前に、あなたのシステムにインストールされ、様々な他のツールやライブラリを持っている必要があります。(上記のGTK+を作成するときに使用されたautoconfのようなツールとは区別される。)

    ビルドプロセス中に必要な2つのツールは、PKG-configとGNU makeです。

    PKG-configはGTK+ライブラリで使用されているライブラリーに必要なコンパイルフラグを追跡するためのツールです。 (各ライブラリーに対し、バージョン番号の情報と共にそのライブラリに必要なコンパイルフラグが含まれている小さな.pcテキストファイルが標準の場所にインストールされています。

    GTK+のmakefileは、ほとんどのmakeの異なるバージョンで動作します、しかし、いくつかの非互換性があるように傾向があるので、GTK+チームはお使いのシステムでそれをインストールして使用していない場合はGNU makeをインストールすることをお薦めします。 (これはmakeではなく、gmakeと呼ばれます。)





    GTK+が依存するライブラリの一部は、GTK+チームによってによって維持されている:GLib、GdkPixbuf、Pango、ATK、GObject Introspection。他のライブラリは、別々に維持されています。

  • GLibライブラリは、高レベルのデータ型、Unicodeの操作、およびCプログラムのオブジェクトと型システムのような非グラフィカルな機能コア提供しています。これは、GTK+のFTPサイトまたはこちらから入手可能です。 

  • GdkPixbufライブラリには、さまざまなファイル形式でイメージをロードするための機能を提供します。それはここにあります。 

  • pangoは国際化されたテキストを処理するためのライブラリです。それはここにあります。 

  • ATKはアクセシビリティツールキットです。これは、スクリーンリーダーなどのアクセシビリティ技術は、グラフィカル·ユーザ·インターフェースと対話することを可能にする一般的なインターフェイスのセットを提供します。それはここにあります。 

  • Gobject Introspectionは、言語バインディングが利用可能なイントロスペクションデータを作成するためのフレームワークです。それはここにあります。


外部依存関係
  • GNU libiconvをライブラリは、あなたのシステムが文字エンコーディング間の変換を行うためのiconv()関数を持っていない場合にGLibをビルドするために必要とされます。最近のほとんどのシステムはiconv()を持っています。 
  • GNU gettextパッケージのlibintlのライブラリはお使いのシステムがメッセージ翻訳データベースを扱うためのgettext()の機能を持っていない場合に必要とされています。 
  • Xウィンドウシステムのライブラリは、PangoのとGTK+を構築するために必要とされています。既にこれらがシステムにインストールされているはずですが、オペレーティングシステムのベンダーが提供するこれらのライブラリのための開発環境をインストールする必要がある可能性があります。 
  • fontconfigのライブラリはフォントの検索と、フォント名と照合するための標準的な方法を含むPangoを提供します。 
  • Cairoは、ベクトルグラフィックスと画像合成をサポートしているグラフィックスライブラリです。 PangoのとGTK+の両方が、それらのグラフィックのためにCairoを使用しています。 
  • libepoxyは異なるOpenGLライブラリ間の違いを抽出するライブラリです。 GTK+は、クロスプラットフォームのGLのサポートのためにそれを使用しています。 
  • Waylandのライブラリは、WaylandのバックエンドとのGTK+をビルドするために必要とされています。 
  • shared-mime-infoパッケージは、GTK+の強い依存関係はありませんが、それはGTK+によって間接的にGIOが使用しているMIMEタイプの定義が含まれています。GDK-pixbufは、MIMEタイプの検出可能な場合にGIOを使用します。これが機能するためには、共有MIME-infoがインストールされる必要があり、XDG_DATA_DIRSはconfigure時に応じて設定。それ以外の場合は、GDK-pixbufは組み込みのMIMEタイプの検出にもどります。

Building and testing GTK+

最初に、必要な外部依存関係がインストールされていることを確認してください: pkg-config、GNU make、JPEGとPNGとTIFFのライブラリ、FreeType、そして必要に応じてlibiconvとlibintl(※これらはCに含まれてる?).
※「jpeg lib」で検索すると、それらしき物が見つかった。他も同様?

これらのパッケージの構築に関する詳細な情報を取得するには、個々のパッケージに付属のマニュアルを参照してください。 Linuxシステムでは、それはあなたがPKG-config設定を除いて、既にインストールされて、これらのすべてを持っている可能性があります。

GTK+ライブラリのビルドとインストールはGLib, Pango, ATK, then GTK+の順で行ってください。

各ライブラリーについては、configure、make、make installの順で上記のインストールしてください。運がよければ、これはすべてスムーズに行き、GTK+アプリケーションのコンパイルを開始する準備ができていますよ。あなたはGTK+をgtk3-demoプログラムを実行して、インストールをテストすることができます。

configureスクリプトの1つに障害が発生したり、実行中のmakeが失敗した場合は、表示されたエラーメッセージをよく見ます。これらは多くの場合、何が悪かったのかについての有益な情報を提供します。configureに失敗した場合、テストコンパイル中のエラーなどの追加の情報がファイルconfig.logの中に書き込まれます。このファイルの最後の100行は何が悪かったのかを明確にします。他のすべてが失敗した場合は、GTKリストメーリングリストで助けを求めることができます。詳細については、Mailing lists and bug reports(3) を参照してください。

Extra Configuration Options

通常のオプションに加えて、GTK+ライブラリのconfigureスクリプトは、追加の引数の数をサポートしています。 (他のGTK+ライブラリのためのコマンドライン引数は、これらのライブラリと一緒に配布資料に記載configure

[ --disable-modules | --enable-modules ] [[--with-included-immodules=MODULE1,MODULE2,...]] [ --enable-debug=[no/minimum/yes] ] [ --disable-Bsymbolic | --enable-Bsymbolic ] [ --disable-xkb | --enable-xkb ] [ --disable-xinerama | --enable-xinerama ] [ --disable-gtk-doc | --enable-gtk-doc ] [ --disable-cups | --enable-cups ] [ --disable-papi | --enable-papi ] [ --enable-xinput | --disable-xinput ] [ --enable-packagekit | --disable-packagekit ] [ --enable-x11-backend | --disable-x11-backend ] [ --enable-win32-backend | --disable-win32-backend ] [ --enable-quartz-backend | --disable-quartz-backend ] [ --enable-broadway-backend | --disable-broadway-backend ] [ --enable-wayland-backend | --disable-wayland-backend ] [ --enable-mir-backend | --disable-mir-backend ] [ --enable-introspection=[no/auto/yes] ] [ --enable-installed-tests | --disable-installed-tests ]

--disable-modules and --enable-modules
通常、GTK+は、要求に応じてロードされているほとんどの共有ライブラリのように入力メソッドモジュールをビルドしようとします。 --disable-モジュール引数は、彼らはすべての代わりにGTK+ライブラリに静的に構築されるべきであることを示しています。これは、静的にリンクされたバイナリを生成するために必要とする人々のために有用です。--disable-modules--enable-modulesも指定されていない場合、configureスクリプトは、共有モジュールがシステム上で動作するかどうかを自動検出しようとします。

--with-included-immodules
このオプションでは、あなたが直接GTK+の共有ライブラリに含めるどの入力方法モジュールを指定することができ、ロード可能なモジュールとしてそれらを構築する場合とは対照的です。

--enable-debug
種々デバッグサポートをオンにします。 'no'に設定するとg_assert()、g_return_if_fail()、g_return_val_if_fail()と異なるオブジェクト型の間のすべてのキャストのチェックが無効になります。「minimum」に設定するとキャストのチェックが無効になります。「yes」に設定すると実行時のデバッグが可能になります。デフォルトの設定は「minimum」です。致命的なクラッシュを含む単純な警告による多くのバグの変化によってほとんどがバグのないソフトウェアであっても不安定にする傾向があります。このように--enable-debug=noはGTK+の安定版リリースには使用しないでください。

--disable-Bsymbolic and --enable-Bsymbolic
彼オプション--disable-Bsymbolicは-Bsymbolic関数リンカーフラグの使用をオフにします。あなたはLD_PRELOADを使って、GTK+の機能をオーバーライドする場合にのみ必要です。

--enable-explicit-deps and --disable-explicit-deps
--enable-explicit-depsが指定されている場合、GTK+は、GTK+に応じてプログラムがリンクされているときPCファイルに依存するライブラリの完全なセットを書き込みます。それ以外の場合は、GTK+はGTK+ライブラリと標準ライブラリのみを参照します。デフォルトでGTK+はシステムが必要としない限り明示的な依存関係を無効にします。(--enable-staticを指定した場合、静的ライブラリの構築の強制、明示的な依存関係が書き込まれライブラリの依存関係は静的ライブラリとして動作しません)--enable-explicit-deps or --enable-staticを指定すると、GTK+のライブラリのバージョンが変更になった時に互換性の問題を引き起こす可能性があるため、可能な限り避ける。

--disable-xkb and --enable-xkb
デフォルトでconfigureスクリプトはXライブラリでサポートされているXKB拡張がGTK+を用いてリンクされているかどうかを自動検出しようとします。
これらのオプションは、明示的にGTK+はXKB拡張をサポートするかどうかを制御するために使用することができます。

--disable-xinerama and --enable-xinerama.  
デフォルトでは、configureスクリプトは、それらが発見された場合のXineramaのライブラリをリンクしようとします。これらのオプションは、明示のXineramaを使用するかどうかを制御するために使用することができます。これらの拡張機能には、グラフィックタブレットなどの入力デバイスに拡張されたインタフェースを提供します。このサポートがでコンパイルされると、特殊なGTK+のプログラムによりサブピクセルの位置、、複数の同時入力デバイスへのアクセス取得、デバイスが提供す圧力や傾きの「軸」を追加。

--disable-gtk-doc and --enable-gtk-doc.
GTK-docパッケージがGTK+に付属のリファレンスドキュメントを生成するために使用されます。それは、様々な追加の依存関係をインストールする必要があるため、GTK-docに関するデフォルトサポートは無効になっています。あなたはGTK-docのがインストールされているとGTK+を変更している場合は、--enable-gtkの-docので渡すことによって、GTK-docのサポートを有効にすることができます。有効になっていない場合は、GTK+と一緒に配布前に生成されたHTMLファイルがインストールされます。

--disable-cups and --enable-cups.  
デフォルトでは、configureスクリプトはカップライブラリが検出された場合のカップ印刷のバックエンドを構築しようとします。これらのオプションは、明示的にカッププリントバックエンドを構築する必要があるかどうかを制御するために用いることができます。

--disable-papi and --enable-papi
デフォルトでは、configureスクリプトは、PAPIライブラリが検出された場合、PAPI印刷のバックエンドを構築しようとします。これらのオプションは、明示的PAPI印刷バックエンドを構築する必要があるかどうかを制御するために用いることができます。

--disable-packagekit and --enable-packagekit
デフォルトでは、configureスクリプトはPackageKitのライブラリが発見されたオープンしてダイアログた場合のためのPackageKitのサポートを構築しようとします。これらのオプションは、明示的PackageKitのサポートを構築する必要があるかどうかを制御するために用いることができます。

--enable-x11-backend, --disable-x11-backend, --enable-win32-backend, --disable-win32-backend, --enable-quartz-backend, --disable-quartz-backend, --enable-broadway-backend, --disable-broadway-backend, --enable-wayland-backend, --disable-wayland-backend --enable-mir-backend, and --disable-mir-backend.
GDKのための特定のバックエンドを有効にします。これらのオプションのいずれも指定されない場合はプラットフォームがWindowsでない限り、x11のバックエンドがその場合、デフォルトは、Win32で、デフォルトで有効になります。いずれかのバックエンドが明示的に有効または無効になっている場合は、他のプラットフォームが自動的に有効にされません。サポートされている他のバックエンドは、OS X用のクォーツのバックエンドであります

--enable-introspection
イントロスペクションのサポートなしで構築します。デフォルトは「自動」です。

--enable-installed-tests or --disable-installed-tests.
システムのテストをインストールするかどうか。有効にした場合、テストとそのデータは、$ {libexecdir}/ GTK+/インストール、テストでインストールされています。試験のためのメタデータは、+{PREFIX}/共有/インストール検定/ GTK$にインストールされます。インストールのテストを実行するには、GNOMEデスクトップテストランナーを使用することができます。
されています。)

オプションの説明は、私にはどう使えばよいかちょっとわからないものが多かった。

ひとまず、インストールを進めていきたい。

以下個別記事に続く。

0 件のコメント:

コメントを投稿