Gus Feb 15, 2013 @ 3:09am
Steam binaries have lots of system dependencies
I'm curious - why aren't the steam binaries statically linked (as much as possible)?
(Sorry if this has already been discussed elsewhere..)
Showing 1-4 of 4 comments
< >
Shark Feb 15, 2013 @ 3:18am 
Most of them are actually in the deb file.
Gus Feb 15, 2013 @ 3:30am 
Sure, but there's still others that aren't included (like even libc itself).
Just seems strange to ship around this big pile of dynamic libraries and then manipulate linkers to use them rather than platform libs, etc, etc - rather than just statically link them and skip all that. Reduce the required ABI to just (very rarely changed) Linux syscalls, essentially.
6wl Feb 15, 2013 @ 5:39am 
Personally I hate the idea of static binaries - not had much time to poke around, but to me steam should be almost another package management system...

The main steam binary gets installed along with system deps for whats require to get it running. Then apps that steam install grab deps and install them in a none system wide location and added to ld.conf.
Gus Feb 15, 2013 @ 6:35am 
.. but you can't support all the various distros (and even ubuntu versions) with a binary that has lots of dynamic references to system libraries - the deviations in required ABIs are just too broad. This is why steam had to start bundling all those shared libraries along with steam.
You don't want steam polluting your regular distro-provided apps with (say) a conflicting libSDL version, so steam (rightly) keeps its bundled libraries away in some private directory.

Historically, the only way to handle Linux has been the two extremes: you ship as source and let distros build/rebuild against whatever libraries-of-the-day they have (since the APIs are quite portable), or you ship as a proprietary binary with as much as you can already statically linked (to minimise ABI requirements). I am just surprised to see steam attempting to achieve the latter using dynamic libraries - and was wondering if this was a conscious decision, or out of unfamiliarity with alternatives.

If someone could shed light on the design decisions behind steam-runtime, for example, that would be really interesting to me since what I see so far isn't the way I would have tried first ;)
Showing 1-4 of 4 comments
< >
Per page: 15 30 50
Date Posted: Feb 15, 2013 @ 3:09am
Posts: 4