Sudden change from leap to tumbleweed

Hi folks, I was running openSuse Leap and suddenly after zypper refresh && zypper update I noted a huge number of patches, but didn’t check carefully. Afterwards, I am suddenly on the Tumbleweed branch:


~$ lsb_release -a
LSB Version:    n/a
Distributor ID: openSUSE
Description:    openSUSE Tumbleweed
Release:        20171231
Codename:       n/a

with the following kernel:


~$ uname -a
Linux linux-2ely 4.14.9-1-default #1 SMP PREEMPT Mon Dec 25 15:42:48 UTC 2017 (9423ca2) x86_64 x86_64 x86_64 GNU/Linux

Apart from the problem that I would rather have a Leap system, it is somehow in an inconsistent state now. For example, when I run zypper, it outputs help:


~$ zypper 
  Usage:
        zypper --global-options] <command> --command-options] [arguments]
        zypper <subcommand> --command-options] [arguments]

But if I run refresh, it fails:


# zypper refresh 
zypper: symbol lookup error: /usr/lib64/libproxy.so.1: undefined symbol: _ZN9libmodman14module_manager8load_dirENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb


What would be the best way to proceed?
Thanks

There is no “Tumbleweed branch”, Tumbleweed is a completely independent distribution.

That likely happened because you added the main Tumbleweed repo to your system somehow, maybe by clicking on a 1-click install for Tumbleweed and accepting to add the repos.

zypper refresh

zypper: symbol lookup error: /usr/lib64/libproxy.so.1: undefined symbol: _ZN9libmodman14module_manager8load_dirENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb

Common problem if you mix Leap with Tumbleweed.

Install the libmodman package from Tumbleweed to get zypper working again, this command should do:

sudo rpm -Uvh --old-package http://download.opensuse.org/tumbleweed/repo/oss/suse/x86_64/libmodman1-2.0.1-17.9.x86_64.rpm

Then you have to decide whether to stay on Tumbleweed or rather go back to Leap.
Either way, please post your repo list afterwards for further help:

zypper lr -d

Alternatively, boot from the Leap or Tumbleweed DVD (depending on what you prefer) and do an “Upgrade” to fix your system.
But also in that case you’d probably need to adjust your repos afterwards.

If you use btrfs with enabled snapper, reverting to previous snapshot before this happened may work.

Thanks for your answers! But something seems wrong with the command to install libmodman:


$ sudo rpm -Uvh --old-package http://download.opensuse.org/tumbleweed/repo/oss/suse/x86_64/libmodman1-2.0.1-17.9.x86_64.rpm
rpm: --old-package: unknown option

The following repositories are activated:


$ zypper lr -d
Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias                               | Name                                    | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                               | Service
---+-------------------------------------+-----------------------------------------+---------+-----------+---------+----------+--------+-----------------------------------------------------------------------------------+--------
 1 | download.opensuse.org-non-oss       | Main Repository (NON-OSS)               | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/non-oss/                 |        
 2 | download.opensuse.org-non-oss_1     | Update Repository (Non-Oss)             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/non-oss/                            |        
 3 | download.opensuse.org-oss           | Main Repository (DEBUG)                 | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/debug/distribution/leap/42.2/repo/oss/               |        
 4 | download.opensuse.org-oss_1         | Update Repository (DEBUG)               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/debug/update/leap/42.2/oss                           |        
 5 | download.opensuse.org-oss_2         | Main Repository (OSS)                   | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/oss/                     |        
 6 | download.opensuse.org-oss_3         | Main Repository (Sources)               | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/source/distribution/leap/42.2/repo/oss/              |        
 7 | download.opensuse.org-oss_4         | Main Update Repository                  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/oss                                 |        
 8 | http-download.opensuse.org-d3d3e86f | openSUSE:Factory                        | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/tumbleweed/repo/oss/                                 |        
 9 | http-download.opensuse.org-e7e2c6cc | home:seilerphilipp                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/home:/seilerphilipp/openSUSE_Leap_42.2/ |        
10 | http-opensuse-guide.org-84178d92    | libdvdcss repository                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://opensuse-guide.org/repo/openSUSE_Leap_42.2/                                |        
11 | http-packman.inode.at-5d54b79c      | Packman Repository                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://packman.inode.at/suse/openSUSE_Leap_42.2/                                  |        
12 | openSUSE-42.2-0                     | openSUSE-42.2-0                         | No      | ----      | ----    |   99     | yast2  | hd:///?device=/dev/disk/by-id/scsi-1JetFlashTranscend_8GB-part2                   |        
13 | repo-debug-non-oss                  | openSUSE-Leap-42.2-Debug-Non-Oss        | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.2/repo/non-oss/           |        
14 | repo-debug-update-non-oss           | openSUSE-Leap-42.2-Update-Debug-Non-Oss | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.2/non-oss/                      |        
15 | repo-source-non-oss                 | openSUSE-Leap-42.2-Source-Non-Oss       | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.2/repo/non-oss/          |        


Thanks very much in advance!

Isn’t it clear to you?

In your repo listing there are all 42.2 repos and at least one Tumbleweed repo (the OSS one). Don’t mix repos from different openSUSE versions.

Remove that Tumbleweed repo and do a

zypper dup --from 5

Hope that restores things.
You probably then have to do the switch to Packman again.

Then try “–oldpackage” instead. :wink:

I made a typing mistake, sorry.

Ok, thanks guys. I removed the Tumbleweed repo as suggested by hcvv and installed libmodman as suggested by wolfi. However, the zypper dup command still does not work:

 $ sudo zypper dup --from 5 [sudo] password for root: zypper: symbol lookup error: /usr/lib64/libproxy.so.1: undefined symbol: _ZN9libmodman14module_manager8load_dirENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb 

I then decided to perform a clean new installation. However, to that end I would need imagewriter to write an iso image to a usb disk. So I would need to install imagewriter:

 $ sudo zypper install imagewriter zypper: symbol lookup error: /usr/lib64/libproxy.so.1: undefined symbol: _ZN9libmodman14module_manager8load_dirENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb 

Also yast seems broken:

 $ sudo yast /usr/lib/YaST2/bin/y2base: symbol lookup error: /usr/lib64/YaST2/plugin/libpy2UI.so.2: undefined symbol: _Z16should_be_loggediRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE 

So how could I proceed? Thanks in advance!

As you see zypper is broken. Thus you can not install anything using zypper. And YaST uses the same library.

Well, what versions of libmodman1 and libproxy1 do you have installed now exactly?

rpm -qi libmodman1 libproxy1

Thanks to all of you for your help. I figured I should upgrade anyway soon and did a fresh install of Leap 42.3. Probably the most convenient way anyway…

Maybe it was the quickest solution in this case.

Take care when yiou add repos :slight_smile:

You???

a typing mistake???

My faith is shattered!rotfl!