Update Shows Conflits

Hello,

While trying to update I’m getting 11 file conflicts. All files are from official Tumbleweed repositories and
are associated with libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0).

3770k:/home/john # zypper dup --no-allow-vendor-change


Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...


Problem: problem with installed package libGraphicsMagick++-Q16-12-1.3.28-111.6.x86_64
 Solution 1: install libGraphicsMagick++-Q16-12-1.3.29-1.2.x86_64 (with vendor change)
  obs://build.opensuse.org/graphics  -->  openSUSE
 Solution 2: keep obsolete libGraphicsMagick++-Q16-12-1.3.28-111.6.x86_64


Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies...
Computing distribution upgrade...


The following 8 NEW packages are going to be installed:
  gdbm-lang kernel-default-4.16.11-1.6 kernel-default-devel-4.16.11-1.6 kernel-devel-4.16.11-1.6 kernel-source-4.16.11-1.6 kernel-syms-4.16.11-1.6 libgdbm5 python3-dbm


The following 3 packages are going to be REMOVED:
  kernel-default-4.16.11-1.5 kernel-default-devel-4.16.11-1.5 pvm


The following 198 packages are going to be upgraded:
  apparmor-abstractions apparmor-docs apparmor-parser apparmor-parser-lang apparmor-profiles apparmor-utils apparmor-utils-lang avahi avahi-compat-mDNSResponder-devel avahi-lang bundle-lang-common-en cmake
  filesystem gdbm-devel gegl-0_4 gegl-0_4-lang git git-core git-cvs git-email git-gui gitk git-svn graphviz graphviz-gd graphviz-gnome graphviz-plugins-core ImageMagick ImageMagick-devel info kernel-firmware
  kernel-macros libaio1 libaio-devel libapparmor1 libapparmor-devel libavahi-client3 libavahi-client3-32bit libavahi-common3 libavahi-common3-32bit libavahi-core7 libavahi-devel libavahi-glib1
  libavahi-ui-gtk3-0 libbabl-0_1-0 libblkid1 libblkid-devel libdcerpc0 libdcerpc0-32bit libdcerpc-binding0 libdcerpc-binding0-32bit libdns_sd libfdisk1 libgbm1 libgdbm_compat4 libgegl-0_4-0
  libGraphicsMagick3-config libGraphicsMagick++-Q16-12 libGraphicsMagick-Q16-3 libgraphviz6 libldap-2_4-2 libldap-2_4-2-32bit libldap-data libldb1 libldb1-32bit libMagickCore-7_Q16HDRI6 libMagickWand-7_Q16HDRI6
  libmount1 libmozjs-52 libndr0 libndr0-32bit libndr-krb5pac0 libndr-krb5pac0-32bit libndr-nbt0 libndr-nbt0-32bit libndr-standard0 libndr-standard0-32bit libnetapi0 libnetapi0-32bit liborcus-0_13-0 libparted0
  libpisock9 libpisock-devel libpskc0 libpython2_7-1_0 libpython2_7-1_0-32bit libqmmp1 libqmmp-plugins libQtWebKit4 librados2 libruby2_5-2_5 libsamba-credentials0 libsamba-credentials0-32bit libsamba-errors0
  libsamba-errors0-32bit libsamba-hostconfig0 libsamba-hostconfig0-32bit libsamba-passdb0 libsamba-passdb0-32bit libsamba-policy0 libsamba-util0 libsamba-util0-32bit libsamdb0 libsamdb0-32bit libsmartcols1
  libsmbclient0 libsmbclient-devel libsmbconf0 libsmbconf0-32bit libsmbldap2 libsmbldap2-32bit libsnmp30 libsolv-tools libstorage-ng1 libstorage-ng-ruby libsvn_auth_kwallet-1-0 libtevent-util0
  libtevent-util0-32bit libts0 libuuid1 libuuid-devel libvdpau_nouveau libwayland-egl1 libwbclient0 libwbclient0-32bit libxfconf-0-2 libzstd1 makeinfo man Mesa Mesa-dri Mesa-dri-nouveau Mesa-gallium
  Mesa-libEGL1 Mesa-libEGL-devel Mesa-libGL1 Mesa-libglapi0 Mesa-libGL-devel Mesa-libva openldap2-client openldap2-devel openssh openssh-helpers openSUSE-Addon-NonOss-release openSUSE-release
  openSUSE-release-ftp parted parted-lang perl perl-apparmor perl-base perl-Bootloader perl-Error postfix python python3 python3-apparmor python3-curses python-base python-devel python-ldb python-solv
  python-xml qmmp ruby2.5 ruby2.5-stdlib samba samba-client samba-client-32bit samba-dsdb-modules samba-kdc samba-kdc-32bit samba-libs samba-libs-32bit samba-python samba-winbind samba-winbind-32bit snmp-mibs
  subversion subversion-bash-completion subversion-perl timezone timezone-java ucode-amd util-linux util-linux-lang util-linux-systemd vim vim-data vim-data-common xdg-utils xen-libs xf86-video-fbdev xfconf
  xfconf-lang xine-ui yast2-core yast2-perl-bindings


The following product is going to be upgraded:
  openSUSE Tumbleweed  20180524-0 -> 20180525-0


The following package is going to be downgraded:
  libgdbm4


The following product is going to be reinstalled:
  "openSUSE NonOSS Addon"


The following package is going to change vendor:
  libGraphicsMagick++-Q16-12  obs://build.opensuse.org/graphics -> openSUSE


198 packages to upgrade, 1 to downgrade, 8 new, 3 to remove, 1 to change vendor.
Overall download size: 0 B. Already cached: 391.9 MiB. After the operation, additional 750.0 MiB will be used.
Continue? [y/n/...? shows all options] (y): y
Do you agree with the terms of the license? [yes/no] (no): y


I REMOVED A LARGE LIST OF PACKAGES LISTED AS "In cache"  to save space.                                                                                                                        


Checking for file conflicts: ...................................................................................................................................[error]
Detected 11 file conflicts:


File /usr/lib64/libgdbm_compat.so.4.0.0
  from install of
     libgdbm_compat4-1.14.1-1.1.x86_64 (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/de/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/eo/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/fi/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/fr/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/ja/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/pl/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/pt_BR/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/sr/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/uk/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File /usr/share/locale/vi/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.1.noarch (Main Repository (OSS))
  conflicts with file from install of
     libgdbm4-1.12-1.31.x86_64 (openSUSE-20180425-0)


File conflicts happen when two packages attempt to install files with the same name but different contents. If you continue, conflicting files will be replaced losing the previous content.
Continue? [yes/no] (no): n


Problem occurred during or after installation or removal of packages:
Installation aborted by user
Please see the above error message for a hint.

Packaman and any other repositories such as the graphics repo are not enabled, even though it says they are. I’m new to TW and never had any conflict issues before so I didn’t know how to handle this. Is it a problem in the repos or is it my end?

The same was seen after yesterday’s update.

Pressed on regardless, rebooted and so far all is OK.

It doesn’t say that the graphics repo is enabled.
It just says that the installed version of libGraphicsMagick+±Q16 has the vendor “obs://build.opensuse.org/graphics”.

Maybe you did install it from the graphics repo (or some other repo with the same vendor) in the past?

Allowing it to get changed to the version from the standard repo is the correct thing to do though.

You should be able to uninstall libgdbm4 to avoid the file conflicts (it has been replaced by libgdbm5 and libgdbm_compat4), but that problem should probably be reported at bugzilla.opensuse.org.

Thanks Wolfi, that’s what I thought. One of the things that always amazed me about Linux was how package management keeps track of so much info. I knew a conflict is never good and noticed it’s language related and the compat4 files. It says libgdbm4 is going to be downgraded which confused me because I was thinking it should be removed. I’m going to give it a day and see if they fix it but I will go see if I can figure out how to file a bug report on it. My friend just went ahead with the update and I told him a conflict could cause a problem in the future if something was expecting a different file, but it had been replaced. It’s never good for the system not to know what’s installed and how to remove it.

Myself, keellambert, and my friend are three that I know of that noticed these conflicts. I’m sure others did too but a search at bugzilla doesn’t show it being reported so I’ll go do it in a little while. I’m a amateur photographer so I needed a couple of things out of the graphics repo, G’MIC for one. I don’t do special effects much but it’s nice for when you do. One of the things I love about TW is having the newest Darktable which I used to compile regularly. Because of those things I’ve read a lot that average users may never read. I’ve been going to post some questions about the SUSE eco-system. It appears to be pretty complex with OBS etc and I found the dashboards, snapshot ratings and I’d just like to understand it all a little better.

Thanks again.

Indeed, it should get removed I suppose, unless you have something installed that still needs it.
Maybe it’s coming from a different repo now? I just checked and the standard repo apparently has libgdbm4 1.13 now, but your conflict speaks of version 1.12…

In any case, I had a look and the current package (1.13) in the TW repo does not contain the complained about language files, only the lib itself as it should.
So maybe this was a “bug” in previous versions that has been fixed meanwhile anyway.

PS: the problem may be related to this changelog entry:

Mon May 14 17:55:17 UTC 2018 - tchvatal@suse.com
- Revert to release 1.13 to allow migration to split compat package
  first. Otherwise OBS can't get heads or tails on conflicts 

So apparently the direct update from 1.12 to 1.14 indeed caused conflicts like you experienced, therefore it got reverted to 1.13 temporarily.
But a couple of days later they updated to 1.14 again, maybe the 1.13 update didn’t make it to the actual repos in time, or you just didn’t update your system in between.

Anyway, ignoring those file conflicts shouldn’t cause any problems as it is just about translations, and they are probably quite similar (or even identical) in both packages too.

Yes, it’s a holiday weekend in the US and I’ve been kind of busy. But I had made the decision to update once a week, or at least less often when the kernel or something like Darktable changed versions. Anyway, it appears missing the 1.13 caused this issue and 1.12 is on my DVD (I checked). Now I’m checking out how to remove just the libgdbm4-1.12-1.31.x86_64 package without yanking anything else. That would fix this right.

When I mark libgdbm4-1.12 for uninstalling in YaST, libgdbm5, libgdbm_compat4, apparmor-utils and many others show the up arrow icon with 3 dots under it which means they will be auto-updated, not removed. Is that right?

If so, it looks like this will remove libgdbm4-1.12 and install libgdbm5 and libgdbm_compat4 without any conflicts, therefore keeping the package manager aware of all changes. That’s what we want, all files associated with the proper packages.

EDIT: gdbm-lang and libgdbm5 show a checkmark with 3 dots under them meaning they will be auto-installed. I just wanted this clear for other users who read this.

Are you using the DVD as repo?
I don’t think that’s a good idea, as Tumbleweed constantly changes, the DVD will always be outdated and might even cause problems for that reason.
But it would explain why libgdbm4 didn’t get removed automatically.

When I mark libgdbm4-1.12 for uninstalling in YaST, libgdbm5, libgdbm_compat4, apparmor-utils and many others show the up arrow icon with 3 dots under it which means they will be auto-updated, not removed. Is that right?

Yes, an update/installation of packages is also marked in green color, while a deletion/removal is a red ‘X’.
Btw, there’s a legend in YaST’s “Help” menu.

So libgdbm 1.12 actually blocked some updates on your system… I now see that libgdbm5 is not even in the list of packages to get installed, while libgdbm_compat4 is (and likely pulls in gdbm5-lang as well).
Manually removing it is definitely a good idea then, especially if it doesn’t cause any packages to get uninstalled.

Thank you so much for your time and patience Wolfi.

This worked perfectly. I uninstalled libgdbm4-1.12-1.31.x86_64 through YaST and it auto-updated or auto-installed everything needed by gdbm-lang and libgdbm5 etc. Nothing was uninstalled except the libgdbm4-1.12-1.31.x86_64 package.

Then I did the upgrade as root:

# zypper dup --no-allow-vendor-change

I did allow a vendor change for libGraphicsMagick but that’s specific to my system and not related to the conflicts.

Everything installed without any conflicts and after rebooting and updating again it says “nothing to do”, so everything is updated with all files associated with the proper packages. Your tip on libgdbm4 1.13 was a great help. I looked for that package to upgrade it and let it pull the other updates but it’s gone from the repos.

And yes. I still have the DVD in the drive. With Mageia it would install the newest version and some packages that were never updated were pulled from the DVD if you installed them, so I left it in the drive for convenience. If this is a bad practice with TW I’ll remove it. I assumed some things would still be pulled from the DVD from time to time if they hadn’t been updated, and I was going to mount the ISO to free the drive. I’m guessing I have very few original files from the DVD at this point. Still, noting though the update process ever removed or updated libgdbm4-1.12-1.31.x86_64 for me because I missed that update and 1.13 disappeared from the repos, or at least that appears to be what happened.

For others that have these conflicts, I think this process would get them updated without conflicts and all files would associated with the proper packages. They would need to make sure that only libgdbm4-1.12-1.31 was uninstalled and other packages were auto-updated and auto-installed as explained in my previous post (post #7). Basically, make sure it doesn’t uninstall a lot of things you need, though I don’t see why it would.

I have been doing that with openSUSE Leap. And it works pretty well. However, when I tried it with Tumbleweed, the effect was that it wanted to keep old software versions. So I guess it’s a good idea with stable distros, but a mistake with rolling distros.

Indeed.

zypper should normally automatically uninstall libgdbm4 as it has been dropped from the repos, but as it is still on the DVD it probably didn’t.
And that apparently made it impossible to install libgdbm5 (because of conflicts?), and the newer versions of other packages that depend on it.