Pihole installer: /usr/bin/pihole-FTL No such file or directory

ldd -v /user/bin/pihole-FTL
result: not a valid executable

/usr/... not /user/...

yes sorry - I did enter it correctly in the terminal just not when retyping here.
52 AM

Okay, still a weird response. How about

ls -lh /usr/bin/pihole-FTL
sha1sum /usr/bin/pihole-FTL

11 PM

In troubleshooting before the rebuild I tried modifying the permissions on pihole-FTL to: chmod 777
-Didnt make a difference I believe.

Assuming there may be something strange with this file should I try obtaining one manually and overwriting this one?

pi@noads:~ $ strings /usr/bin/pihole-FTL | head
/lib/ld-linux.so.3

pi@noads:~ $ dpkg -S ld-linux.so.3
libc6:armhf: /lib/arm-linux-gnueabihf/ld-linux.so.3

pi@noads:~ $ stat /lib/ld-linux.so.3
  File: ‘/lib/ld-linux.so.3’ -> ‘/lib/ld-linux-armhf.so.3’

Does that library "/lib/ld-linux.so.3" exist on your distro ?

31 PM

Hope I entered these correctly. Looks like I don't have ld-linux.so.3

:smiley:

Try these three:

strings /usr/bin/pihole-FTL | head

dpkg -S ld-linux.so.3

stat /lib/ld-linux.so.3

41 AM

1 Like

So the library that pihole-FTL depends on is "/lib64/ld-linux-x86-64.so.2".
Is it installed ?

dpkg -S ld-linux-x86-64.so.2

And is it at the expected location ?

whereis ld-linux-x86-64.so.2

stat /lib64/ld-linux-x86-64.so.2

That library is part of the "libc6" package.
If not installed, you can do so with below one:

sudo apt-get install libc6

And check again if that library is at expected location now with the "whereis" and "stat" commands.

1 Like

Thank you for the help narrowing this issue down.
Running dpkg, whereis, & stat all resulted in 'no results'. I ran apt-get for the libc6 package and it reported I already had the latest version installed.
I found another command (ldd) that pointed toward a similarly named library ld-linux.so.2 located in /lib/. Could this be what we're looking for?

53 PM

Dont need to lookup dependencies for the "cat" command.
Its the library "ld-linux-x86-64.so.2", the 64 bits version, what the pi-hole-FTL binary wants.

Could you post results for below ones ?

uname -r -m

dpkg --print-architecture

dpkg --print-foreign-architectures

dpkg -L libc6 | grep ld-linux

sudo find / -name *ld-linux*

apt-cache search ld-linux-x86-64.so.2

EDIT: Mind I altered the find command.

Sorry for the irrelevant tangent. Here are the results of the commands
23 PM

Missed out an important one:

dpkg --print-architecture

36 AM

Am not sure if you can run binaries intended for a 64 bit system on a 32 bit (i386) distro but dont think so.
What distro did you install and did you add that foreign architecture "amd64" and what for ?
Dont know if a 32 bit pi-hole-FTL version exists.
If its a fresh install, you could try re-install on the 64 bit version of that distro.
Maybe the @developers can shed some light ?

There are 32 bit binaries available: Release FTL v2.12 · pi-hole/FTL · GitHub

ok, thanks. Didn't know pi-hole was 64-bit only but more importantly I didn't know I had installed a 32-bit distro. I'll go back and get the right version of Stretch and try this all again.

Will report back the results shortly and confirm if this issue was tied to the wrong architecture.

Am not sure how that 64 bit binary got onto a 32 bit distro but maybe that foreign architecture "amd64" fooled the Pi-hole installer into believing it is a 64 bit system ???
Maybe it suffices to just remove that architecture and try re-install Pi-hole.
You can remove that "amd64" architecture with:

sudo dpkg --remove-architecture amd64

Or add it again with:

sudo dpkg --add-architecture amd64

I didnt say that and @Mcat12 just confirmed that a 32 bit version exists also.