Saya yakin Anda melewatkan linker dinamis . Lakukan saja a
readelf --all ./wkhtmltopdf | grep interpreter
Anda harus mendapatkan output seperti ini:
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
Ada kemungkinan besar bahwa sistem Anda tidak memiliki juru bahasa (/lib64/ld-linux-x86-64.so.2
dalam contoh). Dalam hal ini bash akan berteriak No such file or directory
, sama seperti ketika biner itu sendiri hilang.
Anda dapat mencoba menggunakan berbeda linker. Suatu saat Anda bisa berhasil. Lakukan saja:
/path/to/the/linker /path/to/your/executable
Perintah ini:
find /lib* -name ld-linux\*
akan membantu Anda menemukan tautan di sistem Anda. Atau Anda dapat melakukan readelf
perintah pada beberapa perintah yang bisa Lari. Ini akan menunjukkan kepada Anda penaut yang benar dan berfungsi.
ATAU , karena Anda menjalankan sistem Debian, lakukan a
sudo apt-get install wkhtmltopdf
untuk menginstal versi asli alat :)
Dalam kasus saya
$ readelf --all ./wkhtmltopdf | grep interpreter # readelf: Displays information about ELF files.
[Requesting program interpreter: /lib/ld-linux.so.2]
Di mesin tempat executable bekerja:
$ 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
Jadi untuk memperbaiki masalah (referensi)
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 # GNU C Library: Shared libraries (from apt show)