我有一个 Rust 构建脚本,需要为我参与的项目运行。Cargo 尝试在主构建过程之前执行该脚本,但失败了,因此我尝试运行它:
$ ./build-script-build
bash: ./build-script-build: No such file or directory
但该文件显然存在:
$ 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
我有权限:
$ stat -c %A build-script-build
-rwxr-xr-x
strace
显示以下内容:
$ 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 +++
我知道这个问题可能会在 64 位系统上运行 32 位可执行文件时出现,但file
显示它是 64 位。我遗漏了什么?
Linux 4.8.13-1-ARCH x86_64
顺便说一下,这是。