Trying to switch to the main repository


5.4.0-rc1-1.g6fce476-default #1 SMP Wed Oct 2 05:04:04 UTC 2019 (6fce476) x86_64 x86_64 x86_64 GNU/Linux

My repository order is @system, main repository, main update repository, non-oss repository, update repository (non-oss). I notice many programs have updates in the main repository. If I do a switch to the main repository, I get the message (transcribed):


python3-mpi4py-3.0.3-lp152.1.16.x86_64 requires openmpi2-config, but this requirement cannot be provided

I would say the first question is should I force the use of the main repository rather than @system. If so, what do I do about this missing requirement.

Thus far not a whole lot of drama in the upgrade. Nice job. I have to do the packman thing for all the non-oss, but at least the computer was totally functional after the upgrade.

Typically, “@System” is shown for packages that are installed but do not come from any available repo.

There’s a lot that you have not told us.

Did you upgrade from an earlier system? If so, then you are probably seeing packages that were not upgraded.

Please show your repos:

zypper lr -d

and use a CODE block to post the output.

Here you go. Note I upgraded from 15.1 to 15.2. I put the iso on a usb thumb drive which explains the first entry. The thumb drive was not inserted.


#  | Alias                     | Name                               | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                        | Service
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------+--------
 1 | openSUSE-Leap-15.2-1      | openSUSE-Leap-15.2-1               | No      | ----      | ----    |   99     | rpm-md | hd:/?device=/dev/disk/by-id/usb-_Patriot_Memory_0701866E94898709-0:0-part2 | 
 2 | repo-debug                | Debug Repository                   | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.2/repo/oss/        | 
 3 | repo-debug-non-oss        | Debug Repository (Non-OSS)         | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.2/repo/non-oss/    | 
 4 | repo-debug-update         | Update Repository (Debug)          | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.2/oss/                   | 
 5 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.2/non-oss/               | 
 6 | repo-non-oss              | Non-OSS Repository                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/non-oss/          | 
 7 | repo-oss                  | Main Repository                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/oss/              | 
 8 | repo-source               | Source Repository                  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.2/repo/oss/       | 
 9 | repo-source-non-oss       | Source Repository (Non-OSS)        | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.2/repo/non-oss/   | 
10 | repo-update               | Main Update Repository             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/oss/                         | 
11 | repo-update-non-oss       | Update Repository (Non-Oss)        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/non-oss/                     | 

Did you previously use the “packman” repo? If you did, then you need to add the packman repo for Leap 15.2. You probably have some packages from packman that have not been updated.

I suggest you give the packman repo a priority of 90. A lower priority number is actually a higher priority. You can set the priority with
Yast Software Repositories.

To add the packman repo, also use Yast Software Repositories to add a community repo.

Once your repos are set appropriately, try at the command line (as root):

zypper dup --allow-vendor-change

That will list what changes it wants to make, and give you a chance to say whether you agree. I think that will fix most of the problems that you are currently seeing.

The python problem remains. Note I was going to add packman eventually. (I always use packman. I generally don’t add VLC since there are conflicts.)I didn’t think it was related to the stated problem. I haven’t taken any action on the last zypper, but will cancel (c) if for some reason I need to boot or whatever. That said, I will keep the terminal open if you think there is a better response.

Because this hardware (Lenovo T495) is so new, I had a number of repositories added to my LEAP 15.1 in order to make the GPU work. It was quite a mess. I am trying to NOT do that for 15.2 with the exception of PACMAN for the non-oss codecs and such.


 sudo  zypper ar -cfp 90 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.2/ packman
[sudo] password for root: 
Adding repository 'packman' ...........................................................................................................................................................[done]
Repository 'packman' successfully added

URI         : http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.2/
Enabled     : Yes
GPG Check   : Yes
Autorefresh : Yes
Priority    : 90 (raised priority)

Repository priorities in effect:                                                                                                                             (See 'zypper lr -P' for details)
      90 (raised priority)  :  1 repository
      99 (default priority) :  4 repositories

sudo zypper dup --allow-vendor-change
Retrieving repository 'packman' metadata ..............................................................................................................................................[done]
Building repository 'packman' cache ...................................................................................................................................................[done]
Retrieving repository 'Main Update Repository' metadata ...............................................................................................................................[done]
Building repository 'Main Update Repository' cache ....................................................................................................................................[done]
Loading repository data...
Reading installed packages...
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.
Computing distribution upgrade...

Problem: python3-mpi4py-3.0.3-lp152.1.16.x86_64 requires openmpi2-config, but this requirement cannot be provided
  not installable providers: openmpi2-config-2.1.6-lp152.6.2.x86_64[repo-oss]
 Solution 1: deinstallation of openmpi-config-1.10.7-lp152.13.2.x86_64
 Solution 2: deinstallation of python3-mpi4py-2.0.0-lp151.2.27.x86_64
 Solution 3: keep obsolete python3-mpi4py-2.0.0-lp151.2.27.x86_64
 Solution 4: break python3-mpi4py-3.0.3-lp152.1.16.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/3/4/c/d/?] (c): 



I’m not an expert in openmpi. However, it seems strange that you have a leftover from Leap 15.1 that is blocking the corresponding program from Leap 15.2.

What happens in you uninstall python3-mpi4py-2.0.0-lp151.2.27.x86_64? I suggest you try that with Yast Software Manager, and see what conflicts arise. Note that you can click “Cancel” to quit without actually accepting the changes.

I uninstalled python3-mpi4py That allowed the updates to go through. Here is the current state:


sudo zypper lr -d
#  | Alias                     | Name                               | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                        | Service
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------+--------
 1 | openSUSE-Leap-15.2-1      | openSUSE-Leap-15.2-1               | No      | ----      | ----    |   99     | rpm-md | hd:/?device=/dev/disk/by-id/usb-_Patriot_Memory_0701866E94898709-0:0-part2 | 
 2 | packman                   | packman                            | Yes     | (r ) Yes  | Yes     |   90     | rpm-md | http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.2/         | 
 3 | repo-debug                | Debug Repository                   | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.2/repo/oss/        | 
 4 | repo-debug-non-oss        | Debug Repository (Non-OSS)         | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.2/repo/non-oss/    | 
 5 | repo-debug-update         | Update Repository (Debug)          | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.2/oss/                   | 
 6 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.2/non-oss/               | 
 7 | repo-non-oss              | Non-OSS Repository                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/non-oss/          | 
 8 | repo-oss                  | Main Repository                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/oss/              | 
 9 | repo-source               | Source Repository                  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.2/repo/oss/       | 
10 | repo-source-non-oss       | Source Repository (Non-OSS)        | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.2/repo/non-oss/   | 
11 | repo-update               | Main Update Repository             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/oss/                         | 
12 | repo-update-non-oss       | Update Repository (Non-Oss)        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/non-oss/                     | 

I noticed one minor packman update not being chosen because the the lower priority. That is an update to gstreamer-plugins-bad-lang. There could be others. I didn’t try to make packman the dominant repo.

I tired to install python3-mpi4py after doing all the updates and the basic problem still exists. Repeated here for clarity:


python3-mpi4py-3.0.3-lp152.1.16.x86_64 requires openmpi2-config, but this requirement cannot be provided

Reverting to the above default list of repos does not revert the state of your machine to the previous one. You need to switch to the original versions by running “zypper dup --allow-vendor-change --repo repo-oss”. You need to take care of obsolete and unneeded packages manually. I have mpi installed and did not experience any issues.

I thought that command just lists the repos. (I use yast, not zypper.)

I don’t understand why I would want to revert (as in go backwards). I want the updates from main repository which I did get. Thus I am confused by “revert” in this context. Perhaps a language nuance?

I think you started with a default install using standard repos only, the added lots of non standard repos and now are back to a list of standard repos, which is a good thing. Now you need to deal with obsolete and unneeded packages.

Correct on too many repos.

In the yast package manager, I can sort on “installed” and all the obsolete packages (shown in red) are all together. So you are saying check these one at a time and insure there is some version albeit different revision installed before deleting them. Otherwise I don’t have to do anything else with the repositories. I noticed there is some AMD Ryzen specific package that is in red, but I will study that and take it up in another post. That is the kind of thing that is probably answered elsewhere.