Update error: removing lib32-expat breaks dependency

I have the same problem as mentioned in topic:

Every now and then something happens updating my Manjaro VM that I don’t understand. Running and updated since 2018.
Since I am still a Linux user, I don’t know what to do with: “Have you removed the discontinued community repo from your pacman.conf?”
Also, the poster mentioned he found a post about that, but did’n mention which post.

Could someone explain what I must do, I get these messages from Pamac:

  • removing lib32-expat breaks dependency ‘lib32-expat’ required by lib32-fontconfig
  • removing lib32-expat breaks dependency ‘libexpat.so=1-32’ required by lib32-fontconfig
  • removing lib32-libffi breaks dependency ‘lib32-libffi’ required by lib32-glib2
  • removing lib32-pcre2 breaks dependency ‘lib32-pcre2’ required by lib32-glib2
  • removing lib32-libffi breaks dependency ‘libffi.so=8-32’ required by lib32-glib2
  • removing lib32-libcap breaks dependency ‘lib32-libcap’ required by lib32-systemd

KDE PLasma: 6.2.5
KDE Framework: 6.10.0
Qt: 6.8.1
Kernel: 6.6.74-1Manjaro 64 bit
Graphics: X11

Regards,
Han

Probably this one:

1 Like

also remove what is reported as:
required by … xyz

and find out why you even have this in the first place …

with lib32 stuff - it’s probably wine or some sort of derivative
proton, steam …

1 Like

You can do this simply with the following commands in the terminal.

sudo cp /etc/pacman.conf /etc/pacman.conf.original
sudo cp /etc/pacman.conf.pacnew /etc/pacman.conf
sudo pacman-mirrors --fasttrack
sudo pacman -Syu

BUT.

Seeing as you’re new, and didn’t know about that, it very likely means you have a lot of unattended .pacnew files from previous updates. So do yourself a flavour and see:

https://wiki.archlinux.org/title/Pacman/Pacnew_and_Pacsave#.pacnew

and

Also, a little :bangbang: Tip :bangbang: for you:

When posting terminal output, copy the output and paste it here, wrapped in three (3) backticks, before AND after the pasted text. Like this:

```
pasted text
```

Or three (3) tilde signs, like this:

~~~
pasted text
~~~

This will just cause it to be rendered like this:

Sed
sollicitudin dolor
eget nisl elit id
condimentum
arcu erat varius
cursus sem quis eros.

Instead of like this:

Sed sollicitudin dolor eget nisl elit id condimentum arcu erat varius cursus sem quis eros.

Alternatively, paste the text you wish to format as terminal output, select all pasted text, and click the </> button on the taskbar. This will indent the whole pasted section with one TAB, causing it to render the same way as described above.

Thereby increasing legibility thus making it easier for those trying to provide assistance.

For more information, please see:

As I’m a moderator on the forum, I have taken the liberty of doing this for you, this time.


:bangbang::bangbang: Additionally

If your language isn’t English, please prepend any and all terminal commands with LC_ALL=C. For example:

LC_ALL=C bluetoothctl

This will just cause the terminal output to be in English, making it easier to understand and debug.

Note that the above text is partially pre-prepared as a general introduction for new forum Users. Please take the time to to understand how it is done and encourage quality responses.

2 Likes

@admdb

If /etc/pacman.conf has been previously edited, then pacman.conf.pacnew may need to be carefully merged with pacman.conf using the specialised tools available for the job.

Blindly replacing pacman.conf (or any other file) with its .pacnew counterpart is not advisable. :eyes:

Instead, please direct new members to appropriate information.

and various other related topics only a Search away.

Regards.

1 Like

A copy of the currently existing file is made - so that you can return to it if necessary

sudo cp /etc/pacman.conf /etc/pacman.conf.original

Next, the .pacnew file (which contains the default settings) is copied to replace the original one.

sudo cp /etc/pacman.conf.pacnew /etc/pacman.conf

Then - only then - the list of mirror servers is updated.

sudo pacman-mirrors --fasttrack

And then the update is made.

sudo pacman -Syu

This is the easiest and safest way.

That’s correct. But if you’ve edited pacman.conf, you won’t have any problems removing community repo either.

1 Like

Yes, the commands were self-explanatory, thank you.

Yes, it is.

Never presume that a new user will necessarily have any clue what they may have edited previously, after finding random instructions either on this forum or elsewhere.

1 Like

It is replacing whatever has been done to the file with the default options.
And retaining the, possibly deliberately altered, version of the file as well.

It is a save option - in this case.

If they can’t remember at this point - they are better off with restoring the default. :man_shrugging:

1 Like

There’s an article by @Aragorn they might be better off with too. :wink:

The point, though, is that we can never know what they (new users) might have done, unless they tell us; and that doesn’t happen often. :man_shrugging:

1 Like

Thanks for all the replies, interesting discussion this topic has turned into.
Because I like the challenge to keep this vm running I posted this topic, and did what admdb suggested and it worked, the system is up to date.
As Mirdarthos mentioned pacnew and pacsave files: before applying the commands I had 25 pacnew files, now zero. Also no .pacsave files.
I will follow the advice for pasting terminal output, didn’t notice that my topic text looked pad after posting, sorry for that.

These are the moments when I remember a statement that you have to be a nerd to keep a Linux system running.
The reason why this can be true is because with Linux you need deep knowledge about details of the operating system sometimes whilst Windows users don’t need this under the hood knowledge (even a monkey can).
But this is difficult to judge, being a sysadmin in a windows office environment. Since Manjaro has released many different distro’s over the years, it might be impossible to determine which files need to be replaced over time.

About me as forever new user, back in 2018 I downloaded manjaro-kde-17.1.2-stable-x86_64.iso and installed it. I wanted to have a look at Linux, therefor never installed on bare metal, but in a vmware player vm, and decided to keep the vm.
In such a way the machine is a folder on disk that can be easily copied (before updating and to backup).
Sometimes I “play” with it, but there have been many months that I just started the vm to let it update.
Usually once a month, otherwise the .vmdk gets too big and I cannot shrink it like a windows vm disk.
I updated with Octopi (the GUI) and after that didn’t work anymore in 2021 I followed an advise to update with Pamac (also the GUI). I cleanup after every update with “pamac clean -k 0” and “amac remove -o”.
I did so few changes, and documented everything, that I can mention them one by one:
I changed the countdown in /etc/default/grub.
I changed the countdown in /usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/logout/Logout.qml (on regular base because updates override my change).
I set the size of the display to fixed size with a file /etc/X11/xorg.conf.d/10-monitor.conf (because vmware player doesn’t remember the vm window size).
I installed xnviewmp for linux.
That’s all.
I never modified pacman.conf or any other system file besides those mentioned above.
So if I look at the contents of pacman.conf, pacman.conf.original and pacman.conf.pacnew I can see the root cause, community replaced by extra?
I always assumed that updates would take care of such things.
If I look at release updates I wouldn’t know which release concerns my installation, and looking at the conversations in topics I often don’t understand the content :slight_smile:
So for almost 7 years the system is updated by Manjaro. Maybe the longest running rolling release instance :slight_smile:

So thanks again and regards,
Han

1 Like

No, not really, but as a UNIX-family operating system, GNU/Linux is not a consumer appliance system like the offerings from Redmond or Cupertino, nor was it designed for that reason. It’s a much more powerful system, but with great power comes great responsibility.

In addition to that, Manjaro in particular is an Arch derivative, and Arch is a very hands-on distribution due to its rolling nature.

Compared to Arch proper and to other direct Arch derivatives such as Enderavour OS and Garuda, Manjaro is curated, which already smoothens out the update/upgrade process a lot, but there still is a requirement for hands-on maintenance. There’s no way around that without severely limiting the user’s freedom that GNU/Linux was meant to offer in comparison to the proprietary UNIX versions.

You would probably have been better off cutting your teeth on a less demanding GNU/Linux distribution — i.e. a non-rolling distribution — such as Debian, Mint, MX Linux, Mageia, and the likes. Those are much more suitable for absolute newbies than rolling-release distributions, and especially so those of the Arch-based variety.

No, extra.db has always existed, but community.db was merged into extra.db about two years ago. Ever since, community.db had been completely empty, but it still existed on the mirrors until about two months ago, when the decision was then finally made to remove it altogether, given that it no longer served any purpose.

This was merely a decision mirroring upstream, by the way. Arch did the same thing.

They do, except when you’ve got a configuration file that has been modified since the original installation. As there is no one-size-fits-all solution and the user’s modifications of their configuration files must be respected, instead of overwriting the existing configuration file, a .pacnew file is created.

3 Likes

Thanks Aragorn.

1 Like

Speaking as a longtime user of Linux who NEVER got into the deep nerdy side of things (eg no coding, limited terminal commands apart from that for *upgrading the system), I believe you don’t need deep knowledge, just the willingness to read and follow instructions.

When I joined the forum and installed Manjaro [longer than your 7 years ago], I followed the advice of experienced Arch users on the forum - 1) to read update announcements before every upgrade, 2) on how to do a forum search and web research [usually landing on the Arch forums/Wiki] before asking questions, 3) to understand the nature of the Arch rolling release system that Manjaro is based on [eg having to maintain the system]. It has served me well.

I don’t have pacman or other terminal commands at the tip of my fingers. I save some useful ones in a text file and if I have issues, I refer to the file. For instance, I can never remember the command to find out which package a file belongs to, or how to refresh Manjaro mirrors, or what to do when you get a message about corrupted gpg keyrings. If I need to use the relevant command(s), I refer to the text file and copy and paste to the terminal.

You just need to be diligent, not nerdy.

  • I just find that using the terminal to upgrade the system is really the most problem-free way.
3 Likes

:point_up: Word :point_up:

:+1:

1 Like

There are many words there; to which are you referring? :crazy_face:

The ones I pointed out specifically.

1 Like

Ah, so it’s… :point_up: Words :point_up:

They are, but it was my word.

Word.

1 Like