4 ms·
This is on the top of my list of "least helpful error messages" and isn't just a golang thing, any dynamically linked executable will throw this error in an une
by ghotli 5y ago
This is on the top of my list of "least helpful error messages" and isn't just a golang thing, any dynamically linked executable will throw this error in an unexpected execution environment.
Cheatsheet (standard issue hello world -- hello.c)
# gcc -o hello ./hello.c
# file ./hello
./hello: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1e41ccb72d7a36ab5ac0c2c11bcd0e994e5eb013, not stripped
This bit is what throws that error if unavailable:
"interpreter /lib64/ld-linux-x86-64.so.2"
Also, if ldd / file are unavailable but readelf is:
# readelf -a ./hello | grep interpreter
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
# readelf -a ./hello | grep NEEDED
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]