fredericconsavela This is a common issue when 32-bit (lib32-*
) packages depend on older versions of libraries while the main system tries to update to newer versions. Here’s how to fix it:
—
Solution 1: Force Upgrade lib32-expat
and Dependencies
Run:
sudo pacman -Syu lib32-expat lib32-fontconfig --overwrite='*'
This forces an upgrade of the conflicting packages.
—
Solution 2: Temporarily Remove lib32-expat
(if safe)
- Check what depends on it:
pactree -r lib32-expat
- If only non-critical packages depend on it, remove it with
-dd
(skip dependency checks):
sudo pacman -Rdd lib32-expat
- Update the system:
sudo pacman -Syu
- Reinstall
lib32-expat
(now with updated dependencies):
sudo pacman -S lib32-expat
—
Solution 3: Partial Upgrade (Not Recommended, but Works)
If the above fails, manually sync the database and upgrade only non-conflicting packages:
sudo pacman -Sy
sudo pacman -Su --ignore=expat,lib32-expat
Then try upgrading expat
and lib32-expat
later when dependencies are fixed.
—
Solution 4: Downgrade expat
Temporarily
If the update isn’t urgent, you can downgrade expat
to match lib32-expat
’s requirement:
- Download the older version from Arch Linux Archive.
- Install it manually:
sudo pacman -U /path/to/expat-2.6.4-1-x86_64.pkg.tar.zst
- Then try updating again later when
lib32-expat
is fixed.
—
Prevent Future Issues
—
Final Notes
- Warning: Forcing removals (
-Rdd
) or overwrites (--overwrite
) can break things if done carelessly.
- If you’re unsure, wait for an official fix from Big Linux/Arch maintainers.
Let me know if you need further clarification! 🚀
Thx
Rafael Ruscher