Subject: bug#30413: file exists and is +x but cannot be executed

From: Marco van Hulten <[email-masked]>
Date: Sat, 10 Feb 2018 18:30:35 +0100

Hello—

I had cups installed as root and another user.  I could use lpr.
Now I tried to install it under user2 (to have the lpr binary
available, among other things), but I cannot execute `lpr`:

user2@graviton ~$ guix package -i cups
The following package will be upgraded:
   cups 2.2.4 → 2.2.4   /gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4

nothing to be done
user2@graviton ~$ lpr
lpr: No such file or directory
user2@graviton ~$ which lpr
/home/user2/.guix-profile/bin/lpr
user2@graviton ~$ ls -l /home/user2/.guix-profile/bin/lpr
lrwxrwxrwx 11 root root 62 Jan  1 1970 /home/user2/.guix-profile/bin/lpr
-> /gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4/bin/lpr
user2@graviton ~$ ls -l
/gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4/bin/lpr
-r-xr-xr-x 2 root root 14624 Jan  1 1970 /gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4/bin/lpr
user2@graviton ~$ /gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4/bin/lpr
/gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4/bin/lpr: No such file or directory
user2@graviton ~$ file /gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4/bin/lpr
/gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4/bin/lpr: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/ld-linux-x86-64.so.2, or GNU/Linux 2.6.32, stripped, with debug_info

But it looks as if it is there.  Also, the executable bit is set for
world.

user2@graviton ~$ less /gnu/store/x5d85f1n0qalqlrr7rfwrj135m80snlb-cups-2.2.4/bin/lpr

showed the name of a file, so I checked its existence as well:

user2@graviton ~$ file /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/ld-linux-x86-64.so.2 /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/ld-linux-x86-64.so.2: symbolic link to ld-2.25.so
user2@graviton ~$ cd /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib/
user2@graviton /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/lib$
file ld-2.25.so ld-2.25.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped, with debug_info

I am using GNU Guix of a week old or so.

—Marco