Ich habe ein Rust-Build-Skript, das ich für ein Projekt ausführen muss, an dem ich mitarbeite. Cargo versucht, das Skript vor dem Haupterstellungsprozess auszuführen, schlägt jedoch fehl. Deshalb habe ich versucht, es auszuführen:
$ ./build-script-build
bash: ./build-script-build: No such file or directory
Die Datei ist jedoch eindeutig vorhanden:
$ file build-script-build
build-script-build: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, not stripped
Und ich habe Berechtigungen:
$ stat -c %A build-script-build
-rwxr-xr-x
strace
zeigt folgendes:
$ strace ./build-script-build
execve("./build-script-build", ["./build-script-build"], [/* 23 vars */]) = -1 ENOENT (No such file or directory)
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
write(2, "strace: exec: No such file or di"..., 40) = 40
exit_group(1) = ?
+++ exited with 1 +++
Ich weiß, dass dieses Problem bei ausführbaren 32-Bit-Dateien auf 64-Bit-Systemen auftreten kann , aber file
zeigt, dass es 64-Bit ist. Was vermisse ich?
Das ist an Linux 4.8.13-1-ARCH x86_64
, Apropos.