Why does pacman -Syu remove packages installed with yay?

Hi all.

I’ve been using Manjaro as my main driver for a little more than one year now. Before that was Gentoo for about ten years. I’m a GNU/Linux user since 2004. That’s for the introduction.

I don’t really qualify myself as a power Manjaro user though. I’ve been noticing for a while now everytime I do an upgrade with pacman -Syu, some (I haven’t check if all) packages installed with yay are gone and I must reinstall them again. It’s annoying. Example: geda-gaf and guile2.0.

Why’s that?

Thanks in advance.

pacman -Syu usually does not remove packages (it is used for updating packages) , unless the updates has package/file conflicts with the installed packages whether be it from official repos or the AUR (ones i assume you say are installed by yay). it could be that these AUR packages got some conflicting packages un-handled in their PKGBUILDs, just sayin’

Thanks koshikas; that might explain why yay went for a reinstall. Still a bit unclear to me but I can do with it. I’ve had to install Guile 2.0 for geda-gaf, which no longer is on Manjaro repository, doesn’t start either without Guile 2.0. Maybe the latter overwrote some system shared objects, is that possible?

the way it goes is during system update pacman -Syu, pacman will explicitly say which package has conflicts with what and then ask you to remove/replace them. i’m not sure whether this is the case, could only give a definite answer if you can produce the pacman update output to be sure. if there are any, it would be worthy to note them down and then ask AUR package maintainer to take corrective action

Here’s what pacman says now when I run the same command:

:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: mesa will be installed before its libglvnd dependency
warning: dependency cycle detected:
warning: lib32-mesa will be installed before its lib32-libglvnd dependency

There doesn’t seem to be any warning about Guile. I’ll let the upgrade run, will take about 20-30 minutes or so.

BTW yay didn’t produce any warning either.

@zbe Yes, and I’m also probably a psychopath…

Can you make a sensible response instead of taking users for idiots?

Whatever…

@koshikas

I have done the upgrade and it appears, as expected, gaf can no longer be launched as the shared objects from Guile 2.0 are gone. Although yay marks both packages as installed the only fix is to reinstall at least Guile 2.0. (I haven’t yet tried to reinstall the latter only, I need to wait for the next upgrade and I do them weekly only.)

That’s not the same as

What you’re experiencing is probably that some AUR packages need rebuilding after a system update.

moved to #support:aur

2 Likes

Using AUR can be troublesome on Manjaro stable branch - as anything between 2 and 6 weeks may may pass before packages synced from Arch reaches Manjaro stable.

As you present yourself as 10y Gentoo user I dare say - switch to unstable branch and make your life easier. And remember a full system sync too. You will appreciate the change.

sudo pacman-mirrors -aS unstable && sudo pacman -Syyu

For informational and educational use

Well, I don’t know how exactly you interpret that other than me introducing my own self (if that matters). I only meant I’m familiar with compiling and package management in general. That doesn’t spare me from mistakenly describing things as I see them. I took care to ask questions and not incriminate anyone, hope that was clear. I just can’t stand personal attacks when there’s no reason — there never is, that’s my opinion — especially not as a welcome.

BTW I don’t necessarily want to make my life easier rather than understand what’s happening on my machine. Thanks for pointing me in the right direction anyway. I’m not yet certain of what to do next (as my system gave me absolutely no trace, no introduction, no warning about what was observed) but the answers I collected so far are already helping indeed.

Your username and avatar - I ain’t notice yesterday - Dominar.

:rofl:

Since you already carried out step 3 - you can look at 1. 2. and 4. in the list

No matter the frequency of your syncing - know your system

Know which foreign aka custom packages has been built

  1. Before you sync your system with current repo make a list of currently installed foreign packages
    pacman -Qqm > custom-pkgs.txt
    
  2. For obvious reasons this may be an overkill - but for the record
    pacman -Rns $(pacman -Qqm)
    
  3. Sync your system
    pacman -Syu
    
  4. This is almost always necessary - rebuild your custom packages
    • remove cache
    sudo rm -rf /var/tmp/pamac
    
    • build the list
    pamac build $(cat custom-pkgs.txt)
    

Okay, so you need an AUR package called geda-gaf. Which is an old application relying on Guile 2. But, the AUR package has just guile in the dependency list, which have been updated to 3.0 in November. That is why the guile-2 files keep going missing when you update.

To get around this, you could probably install guile2.2, which might make this work.

If it does work, you can notify the maintainer of the AUR package to depend on guile2.2 instead of guile, so it gets fixed for all users of geda-gaf.

1 Like

Farscape fan, is it that visible :wink:

I never use pamac. Only pacman and yay. Consequently there’s no /var/tmp/pamac.

That is interesting indeed. I already had Guile3 on my system but geda-gaf failed to compile so I resorted to installing guile2.0 with yay. I have just tried with the official Guile2.2 as you suggested and Geda compiles, that makes one less foreign package to rely upon.

Since it does, how do I contact the maintainer? Directly by email? Or should I file a bug in their repository, in which case which one exactly? (On Gentoo I only file bugs on Gentoo Bugzilla but I don’t assume it’s the same process on Manjaro, right?)

Yes. I would suggest by email.

Damn’ your’re fast! Thanks!