Bug 1067737

Summary: zypper cannot dup, in, or up
Product: [openSUSE] openSUSE Distribution Reporter: Felix Miata <mrmazda>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: dimstar
Version: Leap 15.0   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Felix Miata 2017-11-11 05:59:08 UTC
# rpm -qa | grep zypp
PackageKit-backend-zypp-1.1.3-4.4.x86_64
libzypp-16.17.3-lp150.1.1.x86_64
zypper-1.13.37-lp150.1.1.x86_64
zypper-aptitude-1.13.37-lp150.1.1.noarch
zypper-log-1.13.37-lp150.1.1.noarch
# zypper -v up
Verbosity: 1
Initializing Target
zypper: symbol lookup error: /usr/lib64/libproxy.so.1: undefined symbol: _ZN9libmodman14module_manager8load_dirENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb
# rpm -qf /usr/lib64/libproxy.so.1
libproxy1-0.4.15-lp150.1.3.x86_64

Above is the result of my first attempt to upgrade a 42.3 (host big41, last updated 14 Oct., originally installed 20 Nov. 2016) to 15.0. Same message trying to zypper dup.

/var/log/zypper.log is currently 74435K, too big to attach.
Comment 1 Felix Miata 2017-11-11 06:25:20 UTC
Also failing:
ref

Working:
se
ll
Comment 2 Felix Miata 2017-11-11 08:37:14 UTC
Again I tried offline upgrade to 15.0 with a copy of 42.3 freshly updated, with same result. I did it yet again, and was reminded of several problems requiring downgrades to try to work around, among them openSUSE-release.
# zypper -v in zypper libzypp libsolv-tools rpm libproxy1
Verbosity: 1
Non-option program arguments: 'zypper' 'libzypp' 'libsolv-tools' 'rpm' 'libproxy1'
Initializing Target
Checking whether to refresh metadata for NonOSS
Checking whether to refresh metadata for OSS
Loading repository data...
Reading installed packages...
Force resolution: No
Selecting 'rpm-4.13.0.1-lp150.3.2.x86_64' from repository 'OSS' for installation.
Selecting 'libproxy1-0.4.15-lp150.1.3.x86_64' from repository 'OSS' for installation.
Selecting 'zypper-1.13.37-lp150.1.1.x86_64' from repository 'OSS' for installation.
Selecting 'libzypp-16.17.3-lp150.1.1.x86_64' from repository 'OSS' for installation.
Selecting 'libsolv-tools-0.6.29-lp150.1.3.x86_64' from repository 'OSS' for installation.
Resolving package dependencies...
Force resolution: No
4 Problems:
Problem: libsnmp30-5.7.3-6.6.x86_64 requires librpm.so.3()(64bit), but this requirement cannot be provided
Problem: libsolv-tools-0.6.29-lp150.1.3.x86_64 requires librpm.so.7()(64bit), but this requirement cannot be provided
Problem: libzypp-16.17.3-lp150.1.1.x86_64 requires librpm.so.7()(64bit), but this requirement cannot be provided
Problem: zypper-1.13.37-lp150.1.1.x86_64 requires libzypp >= 16.17.3, but this requirement cannot be provided

Problem: libsnmp30-5.7.3-6.6.x86_64 requires librpm.so.3()(64bit), but this requirement cannot be provided
  deleted providers: rpm-4.11.2-13.7.x86_64
 Solution 1: Following actions will be done:
  downgrade of libsnmp30-5.7.3-6.6.x86_64 to libsnmp30-5.7.3-lp150.1.4.x86_64
  downgrade of perl-Digest-SHA1-2.13-22.13.x86_64 to perl-Digest-SHA1-2.13-lp150.1.5.x86_64
  downgrade of perl-File-Listing-6.04-12.3.noarch to perl-File-Listing-6.04-lp150.1.4.noarch
  downgrade of perl-HTML-Tagset-3.20-76.3.noarch to perl-HTML-Tagset-3.20-lp150.1.4.noarch
  downgrade of perl-HTTP-Daemon-6.01-12.3.noarch to perl-HTTP-Daemon-6.01-lp150.1.4.noarch
  downgrade of perl-HTTP-Date-6.02-12.3.noarch to perl-HTTP-Date-6.02-lp150.1.4.noarch
  downgrade of perl-HTTP-Negotiate-6.01-12.3.noarch to perl-HTTP-Negotiate-6.01-lp150.1.4.noarch
  downgrade of perl-LWP-MediaTypes-6.02-12.3.noarch to perl-LWP-MediaTypes-6.02-lp150.1.4.noarch
  downgrade of perl-TermReadLine-Gnu-1.20-11.1.x86_64 to perl-TermReadLine-Gnu-1.20-lp150.1.5.x86_64
  downgrade of perl-Tie-IxHash-1.23-8.3.noarch to perl-Tie-IxHash-1.23-lp150.1.4.noarch
  downgrade of perl-WWW-RobotRules-6.02-12.3.noarch to perl-WWW-RobotRules-6.02-lp150.1.4.noarch
  downgrade of perl-X11-Protocol-0.56-17.3.x86_64 to perl-X11-Protocol-0.56-lp150.1.4.x86_64
  downgrade of perl-X500-DN-0.29-111.3.x86_64 to perl-X500-DN-0.29-lp150.1.4.x86_64
  downgrade of perl-XML-SAX-0.99-27.3.x86_64 to perl-XML-SAX-0.99-lp150.1.4.x86_64
  downgrade of perl-XML-XPathEngine-0.14-8.3.noarch to perl-XML-XPathEngine-0.14-lp150.1.4.noarch
  downgrade of yast2-perl-bindings-3.2.0-10.4.x86_64 to yast2-perl-bindings-3.2.0-lp150.1.6.x86_64
 Solution 2: do not install rpm-4.13.0.1-lp150.3.2.x86_64
 Solution 3: break libsnmp30-5.7.3-6.6.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/s/r/c] (c): c
Comment 3 Dominique Leuenberger 2017-11-12 11:20:25 UTC
(In reply to Felix Miata from comment #2)
> # zypper -v in zypper libzypp libsolv-tools rpm libproxy1

Erm, so you install some of the packages form Leap 15.0 on your 42.x install, but skip others, and then are surprised things fall apart?

Just don't do it - Change the repos to 15.0 and do zypper dup; zypper from 42.x is perfectly capable of updating to the new release without this weird attempt of upgrading zypp first (and then break other libs on the way)
Comment 4 Felix Miata 2017-11-12 12:34:50 UTC
It's how I've been upgrading for years, package management first, then else, same as with yum, urpmi and dnf. Something must be wrong with dependencies if package management depends on something that isn't a hard requirement.
Comment 5 Michael Andres 2017-11-13 13:52:56 UTC
(In reply to Felix Miata from comment #4)
> It's how I've been upgrading for years, package management first, then else,
> same as with yum, urpmi and dnf. Something must be wrong with dependencies
> if package management depends on something that isn't a hard requirement.

It's no matter of missing package management requirements.

    Problem: libsnmp30-5.7.3-6.6.x86_64 requires librpm.so.3()(64bit), 
    but this requirement cannot be provided
        deleted providers: rpm-4.11.2-13.7.x86_64

Your request asks to install the new rpm (librpm.so.3 -> librpm.so.7), but the old librpm.so.3 is still needed by e.g the installed libsnmp30.

Usually the resolver would now try to update the installed libsnmp30 (and packages depending on it). Unfortunately 15.0 has lower release(build) numbers 'lp150.1.4', so you have to confirm the required downgrade of additional packages.