Vsadím se, že vám chybí dynamický linker . Stačí udělat a
readelf --all ./wkhtmltopdf | grep interpreter
Měli byste dostat výstup jako tento:
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
Existuje vysoká pravděpodobnost, že ve vašem systému chybí tlumočník (/lib64/ld-linux-x86-64.so.2
v příkladu). V tomto případě by bash zakřičel No such file or directory
, stejně jako když chybí samotná binární soustava.
Můžete zkusit použít jiný linker. Někdy můžete uspět. Stačí udělat:
/path/to/the/linker /path/to/your/executable
Tento příkaz:
find /lib* -name ld-linux\*
vám pomůže najít linkery ve vašem systému. Nebo můžete provést readelf
příkaz na nějaký příkaz, který dělá běh. Ukáže vám správný a funkční linker.
NEBO , protože používáte systém Debian, stačí udělat a
sudo apt-get install wkhtmltopdf
nainstalovat nativní verzi nástroje :)
V mém případě
$ readelf --all ./wkhtmltopdf | grep interpreter # readelf: Displays information about ELF files.
[Requesting program interpreter: /lib/ld-linux.so.2]
Na počítači, kde spustitelný soubor fungoval:
$ ls -lah /lib/ld-linux.so.2
lrwxrwxrwx 1 root root 25 Apr 16 2018 /lib/ld-linux.so.2 -> i386-linux-gnu/ld-2.27.so
$ dpkg -S /lib/ld-linux.so.2 # -S, --search filename-search-pattern: Search for a filename from installed packages.
libc6:i386: /lib/ld-linux.so.2
Takže k vyřešení problému (odkaz)
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 # GNU C Library: Shared libraries (from apt show)