私はフォローしましたこのガイド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.0
14パッケージのソースコードは2つのライブラリ(libgtk2.0
、、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-get source
ソースコードパッケージをダウンロードします。指定した引数が既知のソースパッケージでない場合は、インストール可能なバイナリパッケージデータベースでそれを見つけて、そのソースパッケージをダウンロードしようとします。
このコマンドは、apt-get build-dep
ソースパッケージの名前を派生するのと同じ方法に従って、ソースパッケージデータベースからバイナリパッケージのリスト(フィールドのリストBuild-Dep:
)を照会し、対応するバイナリパッケージをインストールします。
ソフトウェアソースGUIには、公式リポジトリの「ソースコードでリポジトリを有効にする」チェックボックスがあります。サードパーティのリポジトリを手動で追加する場合と行をdeb-src
すべてdeb
追加する必要があります。
答え2
コマンドラインモード
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update
Ubuntu 18.04 Dockerイメージでテストされました。このように変更したら、次の操作を正常に実行できます。
sudo apt-get build-dep hello
変更前は、次のエラーで失敗しました。
E: You must put some 'source' URIs in your sources.list
software-properties-gtk
オプション「ソースコード」
GUI で以下を実行できます。
software-properties-gtk
次に、「Ubuntuソフトウェア」タブで「ソースコード」をクリックします。
deb-src
これにより、いくつかの行が追加され、/etc/apt/sources.list
今やることができますsudo apt-get build-dep <package>
。
Ubuntu 16.04~18.04でテストされました。
答え3
@steeldriverのおかげで何をすべきか知っています。
私のエントリに次のリングを追加しました/etc/apt/sources.list
。
deb-src ftp://ftp.de.debian.org/debian/ stable main contrib
deb-srcリポジトリには、コンパイルに必要なソースパッケージが含まれています(バイナリ、すぐにインストール可能なパッケージではありません)。
編集:これを追加した後にやるべきことsudo apt-get update