No puedo actualizar mi sistema con `pacman`

No puedo actualizar mi sistema con `pacman`

Al intentar actualizar mi sistema, aparece el error: no se pudo preparar la transacción (no se pudieron satisfacer las dependencias).

Esto es lo que obtengo:

~> sudo pacman -Syu
:: Synchronising package databases...
 gremlins is up to date
 system is up to date
 world is up to date
 galaxy-gremlins is up to date
 galaxy is up to date
 lib32 is up to date
 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
:: Replace libcanberra-pulse with gremlins/libcanberra? [Y/n] n
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing expat (2.4.1-1) breaks dependency 'expat=2.3.0' required by lib32-expat
:: installing libcap (2.50-1) breaks dependency 'libcap=2.49' required by lib32-libcap
:: installing libelf (0.185-1) breaks dependency 'libelf=0.184' required by lib32-libelf
:: installing libcanberra (0.30+2+gc0620e4-4) breaks dependency 'libcanberra=0.30+2+gc0620e4-3' required by libcanberra-pulse

Luego intento eliminar el paquete expat, pero aparece el mensaje: "Atención: ¡hay paquetes prohibidos en la lista de eliminación!".

miré estoPágina web, pero aquí pueden desinstalar el paquete problemático, mientras que yo no, ya que expates parte del núcleo.

¿Qué debo hacer en este momento?

Respuesta1

Los paquetes en lib32el repositorio, que son versiones de 32 bits de varias bibliotecas y demás, dependen de sus homólogos de 64 bits de la misma versión.

Tiene repositorios de prueba inestables, como gremlinsy galaxy-gremlins, que proporcionan versiones más nuevas de paquetes como expat. Pero no tiene lib32-gremlinsun repositorio, por lo que no obtiene las mismas actualizaciones para las contrapartes de 32 bits de esos paquetes, es decir, puede permanecer en los antiguos (estables). Y, dado que los paquetes estables de 32 bits lib32-expatdependen de los paquetes homólogos de 64 bits de los repositorios estables, existe un conflicto en el sentido de que puede mantener su sistema más antiguo (para satisfacer las antiguas dependencias de los paquetes de 32 bits) o instale los paquetes más nuevos de 64 bits (lo que romperá las dependencias de los paquetes de 32 bits, lo que significa que solo puede hacerlo desinstalándolos).

Alternativamente, puede habilitar lib32-gremlinsel repositorio, que proporciona versiones de 32 bits de los paquetes en los repositorios de prueba de 64 bits, o deshabilitar todos los repositorios de prueba; cualquiera de estas dos acciones sincronizará sus repositorios de 64 y 32 bits y resolverá las dependencias. con los últimos paquetes disponibles.

información relacionada