What should I do if a package gives a dependency problem?

Soluciona Errores de Dependencias al Instalar Wine

09/08/2015

Valoración: 3.91 (9226 votos)

Si eres un entusiasta de los videojuegos en Linux, es casi seguro que te has encontrado con Wine. Esta maravillosa capa de compatibilidad nos permite ejecutar aplicaciones y, lo más importante, juegos diseñados para Windows directamente en nuestro sistema operativo del pingüino. Sin embargo, el camino no siempre es fácil. Uno de los obstáculos más comunes y frustrantes es el temido mensaje de error: 'The following packages have unmet dependencies' o 'Los siguientes paquetes tienen dependencias incumplidas'. Este error puede detener en seco tu intento de instalación y dejarte preguntándote qué salió mal.

What packages have unmet dependencies?
Closed 10 months ago. The following packages have unmet dependencies: winehq-stable : Depends: wine-stable (= 7.0.0.0~focal-1) but it is not going to be installed E: Unable to correct problems, you have held broken packages. Had the same problem on debian 11.

No te preocupes, no estás solo. Este es un problema muy habitual, especialmente para quienes se inician en el mundo de Wine. La buena noticia es que tiene solución. En este artículo, desglosaremos por qué ocurre este error, qué significan esos mensajes crípticos en la terminal y, lo más importante, te proporcionaremos una guía detallada y paso a paso para solucionarlo y tener Wine funcionando perfectamente.

Índice de Contenido

¿Qué Son Exactamente las 'Dependencias Incumplidas'?

Antes de saltar a las soluciones, es fundamental entender la raíz del problema. Imagina que estás construyendo un coche con piezas de LEGO. Wine sería el chasis principal de tu coche, pero para que funcione, necesita piezas específicas: las ruedas, el motor, el volante, etc. En el mundo de Linux, estas 'piezas' se llaman dependencias. Son paquetes de software, generalmente librerías, que un programa principal (en este caso, Wine) necesita para poder ejecutarse correctamente.

El gestor de paquetes de tu sistema (como apt en Ubuntu y Debian) es como un robot de almacén. Cuando le pides que instale Wine, él va y busca no solo el paquete de Wine, sino también todas las dependencias que necesita. El error de 'dependencias incumplidas' ocurre cuando este 'robot' no puede encontrar una o más de esas piezas necesarias, o encuentra una pieza que no es del modelo o versión correcta. Es como si para tu coche de LEGO necesitaras una rueda de 4 puntos y el robot solo encontrara ruedas de 6 puntos; simplemente no encajan.

Causas Comunes de Este Conflicto

  • Falta de arquitectura de 32 bits (i386): Esta es, con diferencia, la causa más común. La mayoría de los sistemas Linux modernos son de 64 bits (amd64). Sin embargo, una gran cantidad de juegos y aplicaciones de Windows siguen siendo de 32 bits. Wine necesita las librerías de 32 bits correspondientes para poder ejecutar este software. Si no has habilitado explícitamente la 'multi-arquitectura' en tu sistema, el gestor de paquetes no podrá encontrar estas dependencias :i386.
  • Repositorios incorrectos o desactualizados: Estás intentando instalar una versión de Wine diseñada para una versión diferente de tu sistema operativo (por ejemplo, usar un repositorio de Ubuntu 21.04 'Hirsute' en un sistema Ubuntu 22.04 'Jammy'). Las dependencias cambian entre versiones, y esta discordancia causa conflictos irresolubles.
  • Paquetes rotos o retenidos: Un intento de instalación anterior que fue interrumpido o falló puede dejar tu sistema en un estado inconsistente, con 'paquetes rotos' que impiden nuevas instalaciones.
  • Conflictos de versiones: A veces, otra aplicación que has instalado requiere una versión de una librería que entra en conflicto directo con la versión que Wine necesita.

Guía Paso a Paso para Solucionar el Problema

Ahora que entendemos las causas, vamos a la acción. Sigue estos pasos en orden para limpiar tu sistema y realizar una instalación correcta de Wine.

Paso 1: Limpiar Instalaciones Anteriores (Opcional pero Recomendado)

Si has tenido intentos fallidos, lo mejor es empezar de cero. Abre una terminal y ejecuta los siguientes comandos para eliminar cualquier rastro de Wine y limpiar el caché del gestor de paquetes.

sudo apt-get remove --purge wine*
sudo apt-get autoremove
sudo apt-get clean

Paso 2: Habilitar la Arquitectura de 32 bits

Este es el paso más crucial y el que resuelve la mayoría de los problemas de dependencias de Wine. Le diremos a nuestro sistema que también debe buscar paquetes de 32 bits.

Why can't I install Wine HQ-stable?
Some packages could not be installed. This may mean that you have or been moved out of Incoming. winehq-stable : Depends: wine-stable (= 6.0.0~focal-1) E: Unable to correct problems, you have held broken packages. the missing packages were Wine stable 6.0.0~Focal-1 I tried to install it but it kept giving me that error message sadly.
sudo dpkg --add-architecture i386

Después de ejecutarlo, es una buena práctica actualizar la lista de paquetes para que el sistema reconozca los nuevos paquetes de 32 bits disponibles.

sudo apt update

Paso 3: Añadir el Repositorio Oficial de WineHQ (¡El Correcto!)

No instales Wine desde los repositorios por defecto de Ubuntu si quieres la última versión. Es mucho mejor usar los repositorios oficiales de WineHQ. Asegúrate de seguir las instrucciones para tu versión específica de Ubuntu/Debian.

Primero, descarga y añade la clave del repositorio de WineHQ:

sudo mkdir -p /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key

Luego, descarga el archivo de fuentes correspondiente a tu versión. A continuación, un ejemplo para Ubuntu 22.04 (Jammy Jellyfish). Si usas otra versión, debes cambiar jammy por el nombre clave de tu versión (ej. focal para 20.04).

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources

Finalmente, actualiza la lista de paquetes una vez más:

sudo apt update

Paso 4: Instalar WineHQ Stable

Ahora que todo está preparado, la instalación debería funcionar sin problemas. Se recomienda instalar el paquete winehq-stable, que también instalará los paquetes recomendados para una mejor compatibilidad.

sudo apt install --install-recommends winehq-stable

El gestor de paquetes ahora debería ser capaz de encontrar tanto las dependencias de 64 bits como las de 32 bits (:i386) y resolver el árbol de dependencias correctamente. La instalación puede tardar un poco, ya que descargará muchos paquetes. ¡Ten paciencia!

¿Aún Tienes Problemas? Herramientas y Alternativas

Si después de seguir los pasos anteriores el problema persiste, no desesperes. Hay otras herramientas y enfoques que pueden ayudarte.

Usando Aptitude

aptitude es un gestor de paquetes alternativo que a veces es más inteligente que apt a la hora de resolver conflictos complejos. Si no lo tienes, instálalo con sudo apt install aptitude. Luego, intenta instalar Wine con él:

sudo aptitude install winehq-stable

Aptitude te presentará varias soluciones posibles si encuentra un conflicto. Puedes presionar 'n' para rechazar una solución y ver la siguiente hasta que encuentres una que tenga sentido (generalmente una que no quiera desinstalar la mitad de tu escritorio).

Why are some packages not installed?
Some packages could not be installed. This may mean that you have or been moved out of Incoming. winehq-stable : Depends: wine-stable (= 6.0.1~hirsute-1) E: Unable to correct problems, you have held broken packages. I have tried installing this dependency to then get another error saying I need more dependencies. Reading package lists... Done

La Vía Fácil: Lutris y PlayOnLinux

Para muchos jugadores, la mejor solución es no gestionar Wine directamente. Herramientas como Lutris son plataformas de juego diseñadas para simplificar enormemente el proceso. Lutris gestiona sus propias versiones de Wine (incluidas versiones personalizadas con parches para juegos específicos como Proton-GE), descargándolas y configurándolas por ti, de forma aislada del sistema. Esto evita por completo los problemas de dependencias del sistema.

Instalar Lutris es la mejor recomendación para cualquier persona que quiera jugar en Linux sin complicaciones. Simplemente instala Lutris desde tu centro de software o su PPA oficial, y luego busca el juego que quieres instalar desde su interfaz. ¡Él se encargará del resto!

Tabla Comparativa de Métodos

MétodoNivel de DificultadFlexibilidadIdeal Para...
Instalación Manual (WineHQ)MedioAlta (control total sobre la versión del sistema)Usuarios que quieren una versión de Wine integrada en el sistema o para ejecutar aplicaciones generales.
Lutris / PlayOnLinuxFácilMuy Alta (gestiona múltiples versiones de Wine por juego)La mayoría de los jugadores. Simplifica la instalación y configuración por juego.

Preguntas Frecuentes (FAQ)

¿Por qué necesito librerías de 32 bits (i386) si mi sistema es de 64 bits?

Porque el software que intentas ejecutar con Wine (el juego o aplicación de Windows) es probablemente una aplicación de 32 bits. Wine actúa como un traductor, y para hablar con una aplicación de 32 bits, necesita las 'palabras' (librerías) de 32 bits, aunque el sistema operativo que lo aloja sea de 64 bits.

El comando `sudo apt --fix-broken install` no funciona, ¿qué hago?

Este comando es un buen primer paso, pero a veces no es suficiente. Si falla, el problema suele ser más profundo, como un repositorio incorrecto. Asegúrate de haber eliminado los archivos de repositorios de Wine incorrectos de /etc/apt/sources.list.d/ y de haber añadido el correcto para tu versión de Linux antes de volver a intentarlo.

¿Debo usar la versión 'stable', 'devel' o 'staging' de Wine?

  • Stable: Es la versión más probada y fiable. Recomendada para la mayoría de los usuarios.
  • Devel: Es la versión de desarrollo. Contiene las últimas características pero también puede tener nuevos errores.
  • Staging: Es una rama que incluye parches y hacks experimentales que aún no han sido aceptados en la rama principal. A veces, es necesaria para que funcionen juegos muy nuevos o específicos.

Para jugar, Lutris a menudo utiliza versiones 'staging' o personalizadas, lo que refuerza la idea de usarlo como gestor principal.

En conclusión, el error de dependencias incumplidas de Wine, aunque intimidante, es un rito de iniciación para muchos gamers en Linux. Comprender que la causa principal suele ser la falta de soporte para la arquitectura de 32 bits es la mitad de la batalla. Siguiendo la guía de habilitar la arquitectura, usar los repositorios correctos y, si todo lo demás falla, apoyarse en herramientas fantásticas como Lutris, estarás de vuelta en tus juegos favoritos en poco tiempo.

Si quieres conocer otros artículos parecidos a Soluciona Errores de Dependencias al Instalar Wine puedes visitar la categoría Guías.

Subir