Closed karolherbst closed 8 years ago
According to PortageFileList, the portage version once provided .so.0. Unfortunately, the ebuild fetches the tarball from the Gentoo maintainer's home. Maybe it already helps if you add an symlink?
@anyc I forgot to mention this here. The cause of this is that they bundle a really old libcurl linking against librtmp.so.0 and libgssapi_krb.so (or something like that).
Providing librtmp.so.0 is no big deal, but the gssapi thing is the bigger concern because that might pull a lot other old stuff :/
Hm okay. In the worst case, we could pull the library from Ubuntu and put it into /opt/steam-runtime
@anyc: yeah, but maybe we can convince feral to drop the bundle libcurl, this would be the less painfull solution
Here everything works fine with a symlink (librtmp.so.1 --> librtmp.so.0). We can not just add a symlink in the package?
@ShyPixie of course not.
The game doesn't actually need all that. I talked with one of the devs about it and maybe we will get a version without that dependency at some point.
Adding such a symlink will cause ABI breakage for other things and issues which are really hard and annoying to track down.
Alien Isolation needs this too.
Could 1b0ad03c580756 help here?
That commit won't but adding this game to esteam's UNBUNDLEABLES list might as long as it's libcurl.so.4 and not libcurl.so.3. I have this game so I'll download it now and give it a try.
That works. I'll commit the change later.
@chewi I'm not familiar with esteam
; what does UNBUNDLEABLES do?
I faced the same issue of missing librtmp.so.0 for Mad Max caused by the old bundled libcurl. I discovered two independent workarounds. Each of them has caused no apparent issues after several hours. For now I am using Method 2 because it seems cleaner.
/etc/portage/sets/mad-max
# For bin/FeralLinuxMessage
media-libs/sdl2-ttf
# For bin/MadMax
=media-video/rtmpdump-2.4*
=net-nds/openldap-2.4*
virtual/krb5
A problem remains: the rtmpdump.so.0 no longer exists. I went to Mad\ Max/lib/x86_64
and added a nasty cross-version symlink to rtmpdump.so.1.
emerge -v1 net-misc/curl
mv "Mad Max/lib/x86_64/libcurl.so.4" ~/backup/
This does produce a warning with ldd:
bin/MadMax: /usr/lib64/libcurl.so.4: no version information available (required by bin/MadMax)
UNBUNDLEABLES more or less does Method 2 automatically if the game is in the list. Files are deleted but can be easily restored through Steam. See the esteam help text. That warning is harmless, by the way.
This is generally beneficial, even if it isn't strictly necessary like the librtmp.so.0 case. We just don't include games that don't have any libs we can delete, games that break as a result, or games that are VAC enabled. Mad Max doesn't appear to be VAC enabled.
My fear has recently come true though. I have encountered two games that need to be unbundled but are VAC enabled. These are Portal 2 and GRID Autosport. I don't know for sure that what we're doing would trigger VAC, in fact I think it most likely wouldn't, but it's a big risk. I intend to ask Valve but I'm not confident they'll give me a useful answer. I'll try my best.
@chewi Thanks for the info! I'm going to try out esteam
soon; sounds like it automates some of the stuff I'm already doing manually.
sadly the only available version of media-video/rtmpdump only provides a librtmp.so.1 file. I try to hack up an ebuild somwhat