Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Okay. I did more digging and you're more right than I thought. They do bundle a sort of mini-distribution of a particular set of libraries.

Some important libraries not included include libGL(X), libpthread, libm, libdl, and libc. The reason for not bundling GL(X) is obvious - you have to use the GL libraries that match the graphics drivers you're using. I'm not sure about the rest, though. libc does sometimes have breaking changes.

The bundles are maintained by Steam rather than by individual games. I'm not sure what happens if game A requires one version of a library and game B requires an incompatible version. It doesn't look like that would work out well.



The libraries you mentioned are designed so that all changes made are backward compatible. All of the ones that you mentioned excluding libGL are provided by glibc, which is known for backward compatibility.

As for the incompatible versions being required, that would be handled by SONAME versioning, so it should work out fine. If there are somehow conflicts within a SONAME version due to poor planning, there is always the option of putting them in different paths and telling the ELF interpreter to look at paths based on what the game needs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: