Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: depend on ldconfig when finding shared library path prefixes #180

Merged
merged 6 commits into from
Sep 10, 2024

Conversation

R1kaB3rN
Copy link
Member

No description provided.

@R1kaB3rN R1kaB3rN force-pushed the fix-steamrt-paths branch 2 times, most recently from ccfd4f7 to c24841e Compare September 10, 2024 05:23
@R1kaB3rN R1kaB3rN marked this pull request as ready for review September 10, 2024 05:24
- The previous implementation of finding the shared library paths assumed every path containing the libc.so.6 was a valid path prefix. However, it's not that simple as it would be wrong for container environments such as Flatpak where an LD_LIBRARY_PATH is not set and shared library paths appear in multiple places, resulting in the incorrect environment variable for STEAM_RUNTIME_LIBRARY_PATH:

 STEAM_RUNTIME_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/app/lib/i386-linux-gnu:/home/foo/Games/Flowers - Le Volume Sur Automne

Where it really should be *all* the paths that appear in the dynamic linker's search path:

 STEAM_RUNTIME_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/app/lib/i386-linux-gnu:/app/lib32:/app/lib/i386-linux-gnu/GL/default/lib:/lib64:/app/lib:/usr/lib/x86_64-linux-gnu/GL/default/lib:/usr/lib/x86_64-linux-gnu/openh264/extra:/usr/lib/i386-linux-gnu:/home/foo/Games/Flowers - Le Volume Sur Automne

- Note, this problem hasn't been reported yet and it's not clear how it would effect games by having some paths missing yet. Nonetheless, the value was incorrect when matching against Steam's (Flatpak) STEAM_RUNTIME_LIBRARY_PATH value. As a result, minus the appended Scout runtime paths, the value for that environment variable will now be logically equivalent to Steam's as we are using the paths prefixes returned from ldconfig then resolving those real paths.
- libc.so is fundamental and users are going to run into problems if it couldn't be found by Python from the host or container environment. Those users will need to configure their environment accordingly within the container framework's expectations. In the next lines, umu-launcher will attempt to find the paths using ldconfig instead of exiting early if libc.so couldn't be found
@R1kaB3rN R1kaB3rN merged commit 3af25f4 into Open-Wine-Components:main Sep 10, 2024
5 of 6 checks passed
@R1kaB3rN R1kaB3rN deleted the fix-steamrt-paths branch September 10, 2024 05:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant