debianソースパッケージがある場合-build-depsをインストールするにはどうすればよいですか?


47

debian(厳密にはubuntu)ソースパッケージ、つまり.dsc、.tar.gzなどがあります。これをビルドしたいと思います。dpkg-buildpackage私はすべてのビルドの依存関係を持っていないので、失敗します。

通常はを使用しますapt-get build-depが、このパッケージは適切ではありません。

ソースパッケージを指定して、すべてのビルド依存関係をインストールするための「クリーン」で「適切な」方法はありますか?debian / controlファイルを開くことができることは知っていますが、「適切な」方法があるかどうか興味があります。

をインストールしbuild-essential、すべての通常のコンパイラなどを持っています。このパッケージには追加のソフトウェアが必要です。

回答:



12

以下は、ptmanの提案を使用したワークフローの例です。

.dscファイル、.orig.*zファイル、および場合によってはファイルもダウンロードしたと仮定して.debian.*z、ソースパッケージを次のように解凍します。

dpkg-source -x [package_name]_[package_version].dsc

抽出されたソースフォルダーに移動して、次を実行します。

sudo mk-build-deps -i

これにより、ファイルが作成されて[package_name]-build-deps_[version].debインストールされ、提案されたすべての依存関係もインストールされます。

これで、ソースからパッケージをビルドできるはずです。

debuild

終了したら、build-deps生成したパッケージを削除することで、プルされた依存関係を簡単に削除できます。

sudo apt-get purge --auto-remove [package_name]-build-deps

2
あなたも渡すことができます-rsudo mk-build-deps -i、それをインストールした後にパッケージを削除します。また、rootとしてビルドする代わりに、を使用してrootとしてインストールできます--root-cmd sudo。最後に、使用mk-build-deps --install --root-cmd sudo --remove
ルーカス

また、sudo apt install devscripts equivs最初に必要になる場合があります。
アルバメンデス

9

実際にdpkg-checkbuilddeps、ビルドの依存関係を示すものを使用できます。それは私が必要なものの99%を取得します


2
奇妙なことに、packagename-version.dscファイルには、文字列Build-Depends
quack quixote

6

私は通常debuildfrom devscriptsを使用してパッケージをビルドしますが、関連する場合は、欠落しているbuild-depsの行を出力します。

「適切な」方法はpbuilder、パッケージを最小限chrootに構築するか、パッケージで指定された追加のビルドdepsをインストールするか、同様の方法です。これにより、他の潜在的な問題の多くも削除されます(パッケージ化されていないライブラリのローカルインストール例えば)。


-6

試してください:

apt-get install build-essential

ビルド必須をインストールしました。このパッケージには追加のソフトウェアが必要です。
ロリー

そして、それは何が必要かを説明しませんか?たぶんlibncurses-devも。
ランセロット

1
それはポイントではありません。もちろんそうです。ポイントは、依存関係を表示するだけでなく、実際に依存関係をインストールするコマンドを持つことです。
マティアスウルリッヒ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.