GNU/Linux >> Linux の 問題 >  >> Linux

Apt-get Build-depはソースパッケージを見つけることができませんか?

私はすでにこのガイドに従って、Ubuntu12.04でマウスの中ボタンの貼り付けを無効にしています。

チャームのように機能します。

今、私はLinuxMint17で同じことを達成しようとしています。

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'へ 、しかし、そのような名前のパッケージは見つかりません。

編集:
プログラムをコンパイルできるようになりましたが(私の答えを参照)、'libgtk2.0-0'ではなく'gtk+2.0'をソースパッケージとして選択する方法がわかりません 意味することになっています。これについての洞察をいただければ幸いです、ありがとう!

承認された回答:

他の人がすでに述べているように、すべてのdeb…について /etc/apt/sources.listのエントリ および/etc/apt/sources.list.d/* 、一致するdeb-src…があります エントリ。行の残りの部分は同一である必要があります。

deb エントリはバイナリパッケージ(つまり、インストールの準備ができている)、 deb-src用です。 ソースパッケージ用です(つまり、コンパイルの準備ができています)。 2種類のパッケージが分離されている理由は、管理方法が大きく異なるためです。バイナリパッケージには依存関係追跡メカニズムと現在インストールされているリストがありますが、ソースパッケージは、便利にダウンロードできるようにのみ追跡されます。
パッケージリポジトリについて説明する場合、 sourceという単語に注意してください。 これは、2つの無関係なことを意味します。パッケージをダウンロードする場所にあるソースと、バイナリパッケージではなくソースパッケージです。

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

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

aptitude search'?source-package(^ SOURCE_PACKAGE_NAME $)を使用して、ソースパッケージによって生成されたバイナリパッケージを一覧表示できます。 。

コマンドapt-getsource ソースパッケージをダウンロードします。既知のソースパッケージではない引数を指定すると、インストール可能なバイナリパッケージのデータベースで検索され、対応するソースパッケージをダウンロードしようとします。

関連:Ctrl + Shift + Fn + F10キーを押すことをシミュレートできませんか?

コマンドapt-getbuild-dep 同じアプローチに従ってソースパッケージの名前を推測し、ソースパッケージデータベースにクエリを実行して、バイナリパッケージのリスト( Build-Dep:のリスト)を取得します。 フィールド)、それらのバイナリパッケージをインストールします。

Software Sources GUIには、公式リポジトリの「ソースコードでリポジトリを有効にする」チェックボックスがあります。チェックボックスがオンになっていることを確認してください。サードパーティのリポジトリを手動で追加する場合は、必ず両方の deb-srcを追加してください。 およびdeb 行。


Linux
  1. Linuxでパッケージバージョンを見つける方法

  2. オープンソースアプリケーションをRPMとしてパッケージ化する方法

  3. mod_securityをyumインストールできません–利用可能なパッケージmod_securityがありません[解決済み]

  1. Sudo Apt-get Installを使用しているのに、なぜソースコードがないのですか?

  2. Ubuntu:OpenJDK 8 - パッケージが見つかりません

  3. Ubuntu E:パッケージ mysql が見つかりません

  1. pygrub:カーネルを含むパーティションが見つかりません

  2. build-essential と build-dep とは何ですか?

  3. Ubuntu 20.04:E:パッケージ python-pip が見つかりません