Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
games-util/steam-client-meta: Make libudev-compat[abi_x86_32] dep unc…
…onditional This works around the libgudev compatibility issue. There is more than one way to work around it, but this seems like the best. Closes: #336 Closes: https://bugs.gentoo.org/910699 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
- Loading branch information
Showing
1 changed file
with
3 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6641eea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know that steam needed some libudev symbols to function properly.
From what I can see, this isn't the case anymore.
I don't know how this change affects users who use udev.
I don't use udev and instead use a static /dev, so I've had to work around this issue myself.
6641eea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did this based on this post from a month ago and a discussion I had on IRC. I don't think the situation has changed since. This will force you to have udev installed (with or without systemd) but that was probably already the case anyway. Perhaps you were avoiding it by using the Steam runtime, but is an old Ubuntu version of libudev better than a newer Gentoo one? I don't think it forces you to actually use udev either way.
6641eea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was doing this until today when I found out that steam works without libudev:
https://forums.gentoo.org/viewtopic-t-1161822-highlight-steam.html
When I made those posts, steam would open but be unusable without a libudev shared library and some symbols defined in it.
I wrote this to work around the issue:
https://github.com/stefan11111/fake-libudev
However, when I noticed the new package to be installed, I removed my version of libudev(and didn't install libudev-compat) and tried running steam. This time, everything worked, so valve must have fixed something between when I wrote those posts on the Gentoo forum and today.
I am using steam runtime, so that probably one reason I got away with using steam and no udev.
I don't have udev installed.
I will try to build steam without steam runtime and report back.
As for how I'll deal with this, libudev-compat doesn't have any systemd code in it by itself, so if it's needed, I'll just have it not link to any systemd code or keep using my version. For now, I have added it to my package.provided.
6641eea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that's interesting. I've asked in the Valve thread whether they believe this is still an issue or not.
6641eea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've had a reply from Simon at Collabora, who is the expert in this area, and he says there are several factors that can determine whether you are affected or not, so you may have just got lucky. He says that the approach I have taken is the best option for Gentoo. The issue may get fixed in the next Steam beta.
6641eea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to install steam without steamruntime.
Steam depends on pipewire, which depends on libudev, so that's the problem.
I assume you have both udev and libgudev installed. What is pulling in libgudev on your system? From the threads linked, it seems like the problem is with libgudev.
6641eea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's these.
I don't think Steam itself uses libgudev directly. It's only a problem because if something does load it then that loads libudev.so.1 before libudev.so.0, which causes the problem.