GNU/Linux >> Tutoriales Linux >  >> Linux

¿Apt-get Build-dep no puede encontrar un paquete fuente?

Ya seguí esta guía para deshabilitar el pegado del botón central del mouse en mi Ubuntu 12.04.

Funciona de maravilla.

Ahora estoy tratando de lograr lo mismo en mi Linux Mint 17. Cuando intento

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

me da el siguiente resultado:

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

Para mí, parece que apt-get de alguna manera está "resolviendo" 'libgtk2.0-0' a 'gtk+2.0' , pero luego no encuentra ningún paquete con ese nombre.

EDITAR:
aunque ahora puedo compilar el programa (vea mi respuesta), todavía no sé qué Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0' se supone que significa. Cualquier idea sobre esto sería apreciada, ¡gracias!

Respuesta aceptada:

Como otros ya han señalado, asegúrese de que para cada deb … entrada en /etc/apt/sources.list y /etc/apt/sources.list.d/* , tiene un deb-src … coincidente entrada. El resto de la línea debe ser idéntica.

El deb entrada es para paquetes binarios (es decir, listos para instalar), el deb-src es para paquetes fuente (es decir, listo para compilar). La razón por la que los dos tipos de paquetes están separados es que se administran de manera muy diferente:los paquetes binarios tienen un mecanismo de seguimiento de dependencias y una lista de instalados actualmente, mientras que los paquetes fuente solo se rastrean para que puedan descargarse convenientemente.
Tenga en cuenta que cuando se habla de repositorios de paquetes, la palabra fuente significa dos cosas no relacionadas:una fuente como en una ubicación para descargar paquetes y un paquete fuente en lugar de un paquete binario.

libgtk2.0-0 es el nombre de un paquete binario. Está construido a partir de un paquete fuente llamado gtk+2.0 . La razón por la que los nombres de los paquetes fuente y binario no siempre coinciden es que la creación de un paquete fuente puede producir varios paquetes binarios; por ejemplo, gtk+2.0 es la fuente de 14 paquetes ya que se divide en dos bibliotecas (libgtk2.0 , libgail ), paquetes correspondientes para crear programas utilizando estas bibliotecas (…-dev ), documentación para desarrolladores (…-doc ), programas complementarios (libgtk2.0-bin ), etc.

Puede ver el nombre del paquete fuente correspondiente a un paquete binario marcando Source: … línea en la salida de dpkg -s BINARY_PACKAGE_NAME (si el paquete está instalado) o apt-cache show BINARY_PACKAGE_NAME .

Puede listar los paquetes binarios producidos por un paquete fuente con aptitude search '?source-package(^SOURCE_PACKAGE_NAME$) .

El comando apt-get source descarga un paquete fuente. Si le da un argumento que no es un paquete fuente conocido, lo busca en la base de datos de paquetes binarios instalables e intenta descargar el paquete fuente correspondiente.

Relacionado:¿No se puede simular la pulsación de tecla Ctrl+Shift+Fn+F10?

El comando apt-get build-dep sigue el mismo enfoque para deducir el nombre de un paquete fuente, luego consulta la base de datos del paquete fuente para obtener una lista de paquetes binarios (la lista en Build-Dep: campo) e instala esos paquetes binarios.

La GUI de fuentes de software tiene una casilla de verificación "habilitar repositorios con código fuente" para repositorios oficiales, asegúrese de que esté marcada. Si agrega repositorios de terceros manualmente, asegúrese de agregar ambos deb-src y deb líneas.


Linux
  1. Cómo empaquetar aplicaciones de código abierto como RPM

  2. pygrub:no se puede encontrar la partición que contiene el kernel

  3. no puedo instalar el paquete libc6

  4. Ubuntu:OpenJDK 8 - No se puede localizar el paquete

  5. Docker:no se puede localizar el paquete docker-engine

apt vs apt-get – Herramienta de paquete avanzada

Cómo crear paquetes desde el origen mediante CheckInstall

Averigüe si hay un paquete disponible para su distribución de Linux

Cómo encontrar si un paquete está instalado o no en Linux y Unix

Error al instalar las herramientas de VMWare. No se puede encontrar el programa depmod

Ubuntu 20.04:E:No se puede localizar el paquete python-pip