Pizzabelly / EasyRP

Give yourself a Custom Rich Presence in Discord.
564 stars 153 forks source link

Cannot execute binary file: Exec format error (Kali Linux on Raspberry Pi) #92

Open Markieyer opened 5 years ago

Markieyer commented 5 years ago

image I have it all set up properly, it just won't run it

MrBeMv commented 5 years ago

The same thing happens to me, but, in Debian 9 Stretch

Markieyer commented 5 years ago

Bump, just tried it on Ubuntu Bionic Beaver, when I execute it using ./easyrp it says file not found, when I execute it using bash easyrp it says cannot execute binary file

MeetPing commented 5 years ago

How to even run the darn thing

minhducsun2002 commented 5 years ago

Okay, the thing here is the file interpreter isn't found. Run file easyrp and see the required interpreter :

$ file easyrp 
easyrp: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=797a1234f26d86a0ae54444ba038ed754ca538e1, with debug_info, not stripped

Then run ldd easyrp to check if you got the interpreter :

$ ldd easyrp 
    linux-vdso.so.1 (0x00007ffd645ad000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3814b29000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f38149a6000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f381498c000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f38147cb000)
    /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f3814f34000)

/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f3814f34000) is the line we want. If your interpreter isn't here, well, sorry, but I don't know more.

Now that we know the interpreter path, call it manually and it should work:

$ /lib64/ld-linux-x86-64.so.2 ./easyrp

Current Presence (574554841570082817) :
State: PLAYING

...

Displaying Presence for minhducsun2002#1159
aaditisawesome commented 3 years ago

Okay, the thing here is the file interpreter isn't found. Run file easyrp and see the required interpreter :

$ file easyrp 
easyrp: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=797a1234f26d86a0ae54444ba038ed754ca538e1, with debug_info, not stripped

Then run ldd easyrp to check if you got the interpreter :

$ ldd easyrp 
  linux-vdso.so.1 (0x00007ffd645ad000)
  libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3814b29000)
  libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f38149a6000)
  libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f381498c000)
  libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f38147cb000)
  /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f3814f34000)

/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f3814f34000) is the line we want. If your interpreter isn't here, well, sorry, but I don't know more.

Now that we know the interpreter path, call it manually and it should work:

$ /lib64/ld-linux-x86-64.so.2 ./easyrp

Current Presence (574554841570082817) :
State: PLAYING

...

Displaying Presence for minhducsun2002#1159

It says -bash: ldd: command not found. Do we need to install it somewhere?

Pictor13 commented 2 years ago

It says -bash: ldd: command not found. Do we need to install it somewhere?

You can use otool -L filename. Equivalent commands table at A Sysadmin's Unixersal Translator (ROSETTA STONE) OR What do they call that in this world?.