[Nix-dev] Extra dependencies for Steam games?

Mike Cooper mythmon at elem.us
Mon Dec 12 21:28:10 CET 2016


Thanks for the replies everyone. As for the meta issue, I think that having
a steam package that is compatible with all games is a good idea, instead
of requiring overrides.

Unfortunately, it didn't seem to have worked. I tried adding mesa, which
seems to contain the missing library) to each of commonTargetPkgs and
multipkgs in turn, but neither makes the error when launching the game go
away.

To try and debug this further, I ran steam through strace and saw these
lines:

[pid  2901]
open("/nix/store/16vmqiwq4jpcbsfqm4vn48p7wxzgkpbv-acl-2.2.52/lib/libc.so.6",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  2901]
open("/nix/store/m7a3k9cgci9mz114c8497f89w28c5dzn-glibc-2.24/lib/libc.so.6",
O_RDONLY|O_CLOEXEC) = 3
[pid  2901] read(3,
"\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\4\2\0\0\0\0\0"..., 832) =
832
[pid  2901] fstat(3, {st_mode=S_IFREG|0555, st_size=1908040, ...}) = 0
[pid  2901] mmap(NULL, 3791104, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fef3778e000
[pid  2901] mprotect(0x7fef37923000, 2093056, PROT_NONE) = 0
[pid  2901] mmap(0x7fef37b22000, 24576, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x194000) = 0x7fef37b22000
[pid  2901] mmap(0x7fef37b28000, 14592, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fef37b28000
[pid  2901] close(3)                    = 0
[pid  2901]
open("/nix/store/m7a3k9cgci9mz114c8497f89w28c5dzn-glibc-2.24/etc/ld.so.cache",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  2901]
open("/nix/store/m7a3k9cgci9mz114c8497f89w28c5dzn-glibc-2.24/lib/libGL.so.1",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid  2901] writev(2, [{iov_base="/usr/bin/uname", iov_len=14},
{iov_base=": ", iov_len=2}, {iov_base="error while loading shared
libra"..., iov_len=36}, {iov_base=": ", iov_len=2}, {iov_base="libGL.so.1",
iov_len=10}, {iov_base=": ", iov_len=2}, {iov_base="cannot open shared
object file", iov_len=30}, {iov_base=": ", iov_len=2}, {iov_base="No such
file or directory", iov_len=25}, {iov_base="\n", iov_len=1}], 10) = 124
[pid  2646] <... read resumed> "/usr/bin/uname: error while load"..., 8192)
= 124
[pid  2901] exit_group(127)             = ?
[pid  2646] write(1, "/usr/bin/uname: error while load"...,
124/usr/bin/uname: error while loading shared libraries: libGL.so.1: cannot
open shared object file: No such file or directory
) = 124
[pid  2646] write(3, "/usr/bin/uname: error while load"..., 124 <unfinished
...>
[pid  2901] +++ exited with 127 +++

It looks to me that it is looking in the wrong place for the library,
looking in the lib directory of glibc, not mesa.

Any ideas?

On Fri, Dec 9, 2016 at 12:46 AM Kevin Cox <kevincox at kevincox.ca> wrote:

> On 09/12/16 10:45, Nikolay Amiantov wrote:
> > To clarify: I was talking not about Steam Runtime (the guaranteed set)
> > but rather extra libraries that some games need (a small set defined in
> > `multiPkgs`, under "Not formally in runtime but needed by some games"
> > comment). Removing something from the runtime seems a bad idea to me.
> Oh I see. I didn't realize games did that. It seems like it would cause
> a lot of problems.
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.science.uu.nl/pipermail/nix-dev/attachments/20161212/b0e132a2/attachment.html>


More information about the nix-dev mailing list