[Nix-dev] problem with binary-only game

Mathijs Kwik mathijs at bluescreen303.nl
Sat Jan 28 22:46:15 CET 2012


Hi all,

Today, I bought a fun physics platform game "And Yet It Moves"[1],
which has a linux version available.
It is closed source, commercially licensed.

They distribute a .deb, .rpm and a .tar.gz for both x86 and x86_64.
The tar.gz 64bit version ran fine on arch linux.

However, on nixos, I ran into a strange issue when just trying to run
from extracted tarball.

The main program to run is just a shell script that sets up the
.config stuff in $HOME.
After that, it runs the main binary.
However, it fails in doing so, and I can't figure out why.

$ ./AndYetItMoves
./AndYetItMoves: line 21: ./lib/AndYetItMoves: No such file or directory
$ file ./lib/AndYetItMoves
./lib/AndYetItMoves: ELF 64-bit LSB executable, x86-64, version 1
(SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8,
not stripped
$ ldd ./lib/AndYetItMoves
/var/run/current-system/sw/bin/ldd: line 118: ./lib/AndYetItMoves: No
such file or directory
$ ./lib/AndYetItMoves
bash: ./lib/AndYetItMoves: No such file or directory
$ ls -l lib/AndYetItMoves
-rwxr-xr-x 1 mathijs users 5978314 29 nov 21:38 lib/AndYetItMoves

I tried building a package for it, to have any hard coded library
paths in it corrected.
During nix-build, I see
patching ELF executables and libraries
...
/nix/store/3pz1m6jbl65xn8v343n0z6bgm8vm2dyv-andyetitmoves-1.2.2/share/andyetitmoves/lib/AndYetItMoves
...

But it the result is the same.
I really don't get why ldd tells me it can't find the file, while file
and ls are fine.
Using the absolute path doesn't help either.

Does anyone have a clue what's going on?

Thanks,
Mathijs

[1] http://www.andyetitmoves.net/


More information about the nix-dev mailing list