apt-get build-depでソースパッケージが見つかりません

apt-get build-depでソースパッケージが見つかりません

私はフォローしましたこのガイドUbuntu 12.04でマウスの中央ボタンの貼り付けを無効にします。

奇跡的に動作します。

今私はLinux Mint 17で同じ目標を達成しようとしています。私が試したとき

sudo apt-get build-dep libgtk2.0-0

それは私に次のような結果を与えます:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'
E: Unable to find a source package for gtk+2.0

私にとっては、apt-getが何とか「解決」さ'libgtk2.0-0'れるように見えますが、'gtk+2.0'同じ名前のパッケージは見つかりません。

Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'編集:これでプログラムをコンパイルできますが(私の答えを参照)、それはそれが何を意味するのかわかりません。これについての洞察力をいただきありがとうございます。ありがとうございます!

ベストアンサー1

他の人がすでに指摘したように、deb …合計のすべての項目に一致するものがあることを確認してください。残りの行は同じでなければなりません。/etc/apt/sources.list/etc/apt/sources.list.d/*deb-src …

このdebエントリはバイナリパッケージ(つまりインストール準備完了)用で、このアイテムdeb-srcはソースパッケージ(つまりコンパイル準備完了)用です。両方のパッケージは非常に異なって管理されるので分離されます。バイナリパッケージには依存関係追跡メカニズムと現在のインストールリストがありますが、ソースパッケージは簡単にダウンロードできるように追跡のみです。パッケージストアについて議論するときは、次の用語に注意してください。源泉互いに関係のない2つのことを意味します。 1つはパッケージがダウンロードされた場所のソースで、もう1つはバイナリパッケージではなくソースパッケージです。

libgtk2.0-0バイナリパッケージの名前です。というソースパッケージで構築されましたgtk+2.0。ソースパッケージ名とバイナリパッケージ名が常に一致しない理由は、ソースパッケージをビルドすると複数のバイナリパッケージが生成される可能性があるためです。たとえば、gtk+2.014パッケージのソースコードは2つのライブラリ(libgtk2.0、、libgail)に分割され、そのパッケージを使用します。ライブラリビルダー( …-dev)、開発者ドキュメント( …-doc)、コンパニオンプログラム( libgtk2.0-bin)など

(パッケージがインストールされている場合)またはSource: …の出力でその行を調べて、バイナリパッケージがどのソースパッケージ名に対応するかを確認できます。dpkg -s BINARY_PACKAGE_NAMEapt-cache show BINARY_PACKAGE_NAME

ソースパッケージから生成されたバイナリパッケージを一覧表示できますaptitude search '?source-package(^SOURCE_PACKAGE_NAME$)

このコマンドはapt-get sourceソースコードパッケージをダウンロードします。指定した引数が既知のソースパッケージでない場合は、インストール可能なバイナリパッケージデータベースでそれを見つけて、そのソースパッケージをダウンロードしようとします。

このコマンドは、apt-get build-depソースパッケージの名前を派生するのと同じ方法に従って、ソースパッケージデータベースからバイナリパッケージのリスト(フィールドのリストBuild-Dep:)を照会し、対応するバイナリパッケージをインストールします。

ソフトウェアソースGUIには、公式リポジトリの「ソースコードでリポジトリを有効にする」チェックボックスがあります。サードパーティのリポジトリを手動で追加する場合と行をdeb-srcすべてdeb追加する必要があります。

おすすめ記事