Bug 27979 - Steam needs 32-bit repos. You cannot install it due to unfulfilled libudev1 unless 32-bit repos are enabled. You need to know.
Summary: Steam needs 32-bit repos. You cannot install it due to unfulfilled libudev1 u...
Status: RESOLVED INVALID
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Rémi Verschelde
QA Contact:
URL:
Whiteboard:
Keywords: IN_RELEASENOTES8
Depends on:
Blocks:
 
Reported: 2020-12-29 14:54 CET by Hans Micheelsen
Modified: 2021-02-10 18:59 CET (History)
4 users (show)

See Also:
Source RPM: steam-1.0.0.68-1.mga8.nonfree.src.rpm
CVE:
Status comment:


Attachments

Description Hans Micheelsen 2020-12-29 14:54:00 CET
Description of problem:
Cannot install steam due to unfulfilled libudev1

Version-Release number of selected component (if applicable):
1.0.0.68-1

How reproducible:
Allways

Steps to Reproduce:
1. urpmi steam
    Response: En forespurgt pakke kan ikke installeres:
      steam-1.0.0.68-1.mga8.nonfree.x86_64 (grundet uopfyldt libudev1)
   Translated it's something like:
     A package vćannot be installed :
        steam-1.0.0.68-1.nonfree.x86_64 (due to unfulfilled libudev1)
2.
3.
Comment 1 Aurelian R 2020-12-29 16:09:42 CET
Most likely you need to enable 32bit repositories, as steam needs i586 packages.
MCC/Software Management/Configure media sources/Core 32bit Release

CC: (none) => arusanu

Comment 2 Morgan Leijström 2020-12-29 16:59:43 CET
This question comes up frequently.

Maybe we should note in package description that i586 repo is needed?

CC: (none) => fri

Comment 3 Hans Micheelsen 2020-12-29 19:09:55 CET
Certainly. Or enable 32bit repositories per default.
For an everyday user installation of software should be click and forget.
I'm certainly not an newcomer to Linux and to Mageia. But I have been struck by this stupid error before. Apparently I seem to forget. And I always end up with 32bit enabled.
Comment 4 Hans Micheelsen 2020-12-29 19:12:01 CET
Btw. Now I cannot install steam due to 
libllvm-devel-11.0.1-2.rc2.1.mga8.i586 (grundet uopfyldt llvm-11.0.1-2.rc2.1.mga8.i586)

I guess it's under compilation. Patience, Hans! Patience!
Comment 5 Hans Micheelsen 2020-12-29 19:26:16 CET
Cool! I got steam installed. But it still remains to decide what to do with the 32bit repositories
Comment 6 Morgan Leijström 2020-12-30 00:19:28 CET
We should not enable 32-bit on 64 bit installs automatically.

How to best inform a newbie user to enable them?
Comment 7 Aurelien Oudelet 2021-01-28 21:58:37 CET
What's the status of this?

CC: (none) => ouaurelien

Comment 8 Hans Micheelsen 2021-01-28 23:27:28 CET
Well, as long as there is no solution, I guess the big is still open.
I still opt for enabling 32 bit per standard. I always end at that anyway quite soon after reinstalling Mga
Comment 9 Lewis Smith 2021-02-03 14:40:36 CET
This is not the only pkg that needs 32-bit repos enable (often also Wine).
I think Morgan's suggestion is best:
> Maybe we should note in package description that i586 repo is needed
When you select a package in MCC-Manage Software, Add/Remove software, the description is shown - which would include this warning if it was there. There are packages with special requirements which mention them in their description, so this is normal practice.

If you use urpmi directly, you are clued up. If by precaution you start with
 $ urpmq -i <package>
you would see it.
I suppose ideally trying to install such a package would check for 32-bit repos first...

Assigning to akien for this SRPM.

Assignee: bugsquad => rverschelde

Lewis Smith 2021-02-03 14:43:32 CET

Summary: Cannot install steam due to unfulfilled libudev1 => Steam needs 32-bit repos. You cannot install it due to unfulfilled libudev1 unless 32-bit repos are enabled. You need to know.
CC: (none) => lewyssmith

Comment 10 Thomas Backlund 2021-02-03 14:49:53 CET
(In reply to Hans Micheelsen from comment #8)
> Well, as long as there is no solution, I guess the big is still open.
> I still opt for enabling 32 bit per standard. 

We wont.

There is no point if forcing 32bit medias on all the users that happily work with 64bit-only setups
Comment 11 Morgan Leijström 2021-02-03 14:54:55 CET
More detail: Apart from the risk of getting unwanted 32 bit versions (i.e if 64 bit repo lag but not 32 bit), looking for packages and updates takes longer the more repos that are enabled.
Comment 12 Lewis Smith 2021-02-03 21:04:46 CET
(In reply to Thomas Backlund from comment #10)
> (In reply to Hans Micheelsen from comment #8)
> > I still opt for enabling 32 bit per standard. 
> There is no point if forcing 32bit medias on all the users that happily work
> with 64bit-only setups
(In reply to Morgan Leijström from comment #11)
> More detail: Apart from the risk of getting unwanted 32 bit versions (i.e if
> 64 bit repo lag but not 32 bit), looking for packages and updates takes
> longer the more repos that are enabled.
I agree with both. 32-bit repos on a 64-bit system are a pain as Morgan says; also because they show both architectures in package searching, which is confusing.

This still leaves the note in the package description, non? One imagines this would be easy.
Comment 13 Morgan Leijström 2021-02-03 21:38:38 CET
Description telling which i586 repos is needed, is the way.


We experienced users understand to look for the missing lib* in 32 bit repos, but not most users.

And really the message "unsatisfied libudev1"
is for common people not obvious it mean "could not find the 32 bit package libudev1 in enabled repositories"

(except for us who learned this internal language...)
Comment 14 Dave Hodgins 2021-02-04 00:26:50 CET
We've learned the hard way. Enabling the 32 bit repos by default causes more
people to report having difficult to debug problems, especially when upgrading,
then the people reporting problems when they are disabled. For those reporting
problems with them not being enabled, they are easy to debug.

There are people in both groups who do not report the problems they encounter.
There's no way to know how many.

The 32 bit repos will not be enabled by default.

Adding a note in the package description for Mageia packages, is easy, and just
has to get done. For third party packages there is nothing we can do.

CC: (none) => davidwhodgins

Comment 15 Morgan Leijström 2021-02-04 09:55:19 CET
Apart from adding the note in this package,

One wonder if urpmi could maybe hint in a user understandable way, i.e give url to a wiki page, describing reasons and remedies for most common problems.
Lewis Smith 2021-02-04 11:55:07 CET

CC: lewyssmith => (none)

Comment 16 Aurelien Oudelet 2021-02-09 18:25:39 CET Comment hidden (obsolete)

Keywords: (none) => FOR_RELEASENOTES8
Resolution: (none) => INVALID
Status: NEW => RESOLVED

Comment 17 Rémi Verschelde 2021-02-09 19:02:14 CET
> BEWARE:
> Only the above 32bits repos (core/release and core/updates) must be enabled.
> (Don't enable nonfree/tainted 32bits version).
> Next, only maintain 32bits core/updates repo enabled for updates to already
> installed 32bits libraries.
> This will prevent further installation of new 32bits software, if you
> install later other software.

That part is incorrect or misleading. If you want to use apps that require 32-bit libraries, you can't cherrypick only Core libraries during the install and then disable it. You may end up with a broken system if some libraries are updated in x86_64 and not i586.

You should enable the same repos in 32-bit that you have enabled in 64-bit, and leave them enabled. So if you use e.g. Core, Nonfree and Tainted, you should enable the equivalent 32-bit repos in Release and Updates.
Comment 18 Aurelien Oudelet 2021-02-09 20:03:39 CET
That's why I said to leave the 32bits core/updates enabled.
Already installed 32bits libraries/Applications will be updated even when x86_64 ones are updated.

My current Steam's installation works as is.


All I wanted to prevent is to prevent newer x86_64 applications installation to also pulls 32 bits part. I do see this in past and I don't want.
Steam has already pulled all 32 bits libraries/applications he needs. I don't want to bloat my system.

But I you say at least 32 bits core/release should be enabled I will switch it enabled. But I really don't know why because it is frozen state as soon as the distribution is released.
I agree between RC1 and release it must be enabled in order to get last time updates and fixes.

Regards,
Comment 19 Rémi Verschelde 2021-02-09 21:30:14 CET
Updates can add new required dependencies, so if you enable only Core 32bit Updates and not Core 32bit Release, you can end up in a situation where updates are impossible because an Updates package has a dependency on Release which can't be satisfied. I've had to debug a number of such issues here because of similar dangerous advice that was given to users. If you know what you're doing and how to debug update issues it's ok to disable Release, but this shouldn't be documented as the recommended approach, as it's effectively putting oneself in an unsupported configuration.
Comment 20 Aurelien Oudelet 2021-02-09 22:36:18 CET
Ok Rémi.

Modifying the approach:
On x86_64, correct path to install Steam is:

1) Be sure Mageia 8 is updated, with mgaapplet since Release, or doing:
# urpmi --auto-update
as root.

2) Activate 32bits core/release and core/updates repositories with drakrpm-edit-media (Configure media source for install and update) in Mageia Control Centre.( MCC)

3) Install Steam with rpmdrake (Install and Remove Software) in MCC.

Let's install dependencies.
Enjoy. Steam will auto-update itself thereafter.
No need to do something else.
If 32bits repos are not enabled, Steam can't install.

Back to BR:
Not reproduced on updated M8 x86_64 Plasma installation from Classic public RC1 ISO.

So this must land to release note. There is no bug.
Comment 21 Morgan Leijström 2021-02-10 11:03:48 CET
I believe I nailed it in last paragraph at
https://wiki.mageia.org/en/Mageia_8_Release_Notes#The_Mageia_online_repositories

Please check.

IMO, optimally we should create one small Wiki page each for Steam and PlayOnLinux, and from there point to another small page about 32 bit repos on 64 bit systems (or a subchapter on a page about repos, believe we have one...?)

Keywords: FOR_RELEASENOTES8 => IN_RELEASENOTES8

Comment 22 Morgan Leijström 2021-02-10 11:28:00 CET
(In reply to Dave Hodgins from comment #14)
> Adding a note in the package description for Mageia packages, is easy, and
> just has to get done. For third party packages there is nothing we can do.

Did this happen?
If not we should spawn a bug for it.
Comment 23 Rémi Verschelde 2021-02-10 14:22:17 CET
Release notes look great, thanks.

I added a note in the package description, though it needs a freeze push to make it to the mirrors.
Comment 24 Morgan Leijström 2021-02-10 14:29:00 CET
Thanks

Great with a note.

Likewise, I think a note should be added to PlayOnLinux?
Comment 25 Rémi Verschelde 2021-02-10 15:41:54 CET
PlayOnLinux is unmaintained and was dropped from Mageia 8.
Comment 26 Morgan Leijström 2021-02-10 15:57:59 CET
Ah, thanks, we should not mention PlayOnLinux then in that text I modified on ReleaseNotes.  I will fix that.

Instead PlayOnLinux should go somewhere in https://wiki.mageia.org/en/Mageia_8_Release_Notes#Packages_removed_from_the_distribution

Will it be removed upon update, or still installed if it was installed on Mageia7 (and if so will it still work?)
Comment 27 Rémi Verschelde 2021-02-10 17:13:13 CET
(In reply to Morgan Leijström from comment #26)
> Will it be removed upon update, or still installed if it was installed on
> Mageia7 (and if so will it still work?)

I just tested, it does get removed automatically by `task-obsolete`. The mga7 RPM cannot be installed because it requires `wxPython` which is not provided in mga8. After forcing its installation with `urpmi --allow-nodeps`, I confirmed that it's not working (Python traceback due to missing `wxversion`).

I also tested the tarball from https://www.playonlinux.com/en/download.html but it doesn't work either due to missing `wxversion`.

So there's no option to use POL anymore on Mageia 8, until it's possibly ported to Python 3 (but I wouldn't bet on it as upstream development is quite slow/stalled).

We could advise users to look into Lutris, which fulfills part of what POL was used for and does it much better.

Note You need to log in before you can comment on or make changes to this bug.