Libgflags-devをインストールしたい。このランチパッドリンクによると、ubuntuリポジトリに存在します: https://launchpad.net/ubuntu/+source/gflags および http://packages.ubuntu.com/ raring/libdevel/libgflags-dev
しかし、Sudo apt-getをインストールしようとすると、E: Unable to locate package libgflags-dev
が表示されます。これはなぜですか?ソフトウェアセンターからすべてのマルチバースとユニバースを有効にしました。
Apt-getからインストールする方法は?
追伸私は単にバイナリをダウンロードしてインストールすることができることを知っていますが、apt-getからこれを行う方法を知りたいです。
packages.ubuntu.com
サイトとクエリ でわかるように、これはPrecise(12.04)では使用できませんが、Quantal(12.10)以降でのみ使用できます。
ソースからインストールするのではなく、Quantalのソースから独自のパッケージを作成する方法を紹介します。
これは非常に詳細な説明です-初めてパッケージを作成する人向けです。
ソフトウェアとパッケージをビルドする基本パッケージをインストールします: build-essential および devscripts 。
Launchpadのソースパッケージ(gflags
)ページに移動します。 https://launchpad.net/ubuntu/+source/gflags
「Quantal Quetzal(サポートされている)2.0-1」バージョンのセクションを展開します。
ソースパッケージの説明ファイル(.dsc
拡張子)を見つけます。これを書いている時点では https://launchpad.net/ubuntu/+archive/primary/+files/gflags_2.0-1.dsc
リンクをクリップボードにコピーします。
ターミナルを開き、dget
を使用してソースパッケージをダウンロードします。
dget https://launchpad.net/ubuntu/+archive/primary/+files/gflags_2.0-1.dsc
これは最初に失敗します:
gpg: Signature made Thu 31 May 2012 14:48:41 CEST using RSA key ID 8AE09345
gpg: Can't check signature: public key not found
Validation FAILED!!
上記のエラーメッセージのように、必要なRSAキーをインストールします。
gpg --keyserver keyserver.ubuntu.com --recv-key 8AE09345
GPGキーリングを使用するようにDPKG開発スクリプトを構成します。
echo 'DSCVERIFY_KEYRINGS="/etc/apt/trusted.gpg:~/.gnupg/pubring.gpg"' > ~/.devscripts
以前のdget
コマンドを再度実行します。これで成功するはずです。
作成されたディレクトリに移動します。
cd gflags-2.0/
パッケージをビルドしてみてください。
debuild -uc -us
オプションの説明:未署名の変更ファイル、未署名の新しい.dsc
ファイル。パッケージを再配布しないので、何も署名する必要はありません。
このmayビルドの依存関係がないために失敗します。例:
dpkg-checkbuilddeps: Unmet build dependencies: debhelper
これは実際にはシステム固有であることに注意してください。
ビルドの依存関係をインストールします(取得した出力から上記のすべてを満たします)。例:
Sudo apt-get install debhelper
パッケージを再度ビルドしてみてください。
debuild -uc -us
1つ下のディレクトリには、パッケージがあります。例:
$ cd ..
$ ls -al *gflags*.deb
-rw-r--r-- 1 gert gert 108450 Jun 24 18:59 libgflags2_2.0-1_AMD64.deb
-rw-r--r-- 1 gert gert 147590 Jun 24 18:59 libgflags-dev_2.0-1_AMD64.deb
-rw-r--r-- 1 gert gert 14778 Jun 24 18:59 libgflags-doc_2.0-1_all.deb
それらをインストールします。
Sudo dpkg -i *gflags*.deb
バイナリの依存関係が満たされていないためにこれが失敗する場合は、実行します
Sudo apt-get install -f
できた!
他のパッケージと同様に、いつでも削除または更新できます。
次回パッケージをビルドするときに、すべてのフープを実行する必要はありません...一般的にレシピは次のようになります。
dget <.dsc-file>
cd thefolder
debuild -uc -us
Sudo dpkg -i ../*somepattern*.deb
ランチパッドのページで見られるように、gflagsには、ビルドの正確なバイナリを提供する非公式のPPAがあります。私はppa:fcitx-team/nightlyを使用しましたが、うまく機能しているようです。