Я уже следовал этому руководству, чтобы отключить вставку средней кнопки мыши на 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'
должно означать. Любое понимание этого будет оценено, спасибо!
deb-src
репозиторий в своем /etc/apt/sources.list?Ответы:
Как уже отмечали другие, убедитесь, что для каждой
deb …
записи в/etc/apt/sources.list
и у/etc/apt/sources.list.d/*
вас есть соответствующаяdeb-src …
запись. Остальная часть строки должна быть идентичной.deb
Запись для бинарных пакетов (т.е. готов к установке), тоdeb-src
для исходных пакетов (т.е. готов к компиляции). Причина, по которой два вида источников разделены, заключается в том, что они управляются совершенно по-разному: бинарные пакеты имеют механизм отслеживания зависимостей и установленный в настоящее время список, в то время как исходные пакеты отслеживаются только для удобной загрузки. Обратите внимание, что при обсуждении репозиториев пакетов слово « источник» означает две не связанные между собой вещи: источник, находящийся в месте загрузки пакетов, и пакет источника, а не двоичный пакет.libgtk2.0-0
это имя бинарного пакета. Он построен из исходного пакета с именемgtk+2.0
. Причина, по которой имена источников и двоичных пакетов не всегда совпадают, заключается в том, что сборка исходного кода может создавать несколько двоичных пакетов; например,gtk+2.0
является источником для 14 пакетов, так как он разделен на две библиотеки (libgtk2.0
, libgail), corresponding packages to build programs using these libraries (
… -dev), documentation for developers (
… -doc), companion programs (
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:
поле), и устанавливает эти двоичные пакеты.Интерфейс Software Sources имеет флажок «включить репозитории с исходным кодом» для официальных репозиториев, убедитесь, что он установлен. Если вы добавляете сторонние репозитории вручную, убедитесь, что вы добавили обе строки
deb-src
иdeb
строки.источник
Благодаря @steeldriver я понял, что делать.
Просто нужно было добавить следующий лин к моему
/etc/apt/sources.list
:Репозитории deb-src содержат исходные пакеты (в отличие от бинарных, готовых к установке пакетов), необходимые для компиляции.
Редактировать: после добавления, вы должны выполнить
sudo apt-get update
источник
Метод CLI
Протестировано на образе Ubuntu 18.04 Docker. После этого изменения я могу успешно сделать, например:
и перед изменением произошел сбой с ошибкой:
software-properties-gtk
опция "Исходный код"Из графического интерфейса вы можете запустить:
затем на вкладке «Программное обеспечение Ubuntu» нажмите «Исходный код»:
Это добавило несколько
deb-src
строк под/etc/apt/sources.list
, и теперь я могу сделатьsudo apt-get build-dep <package>
.Проверено на Ubuntu 16.04-18.04.
источник