为什么当我尝试运行可执行文件时,它会说它不存在?

Cra*_*ney 7 linux command-line ubuntu

我有一个已编译的程序,一个用于识别文本部分的标记器,它声称它不存在。

当我尝试通过命令行运行它时,我得到以下信息:

user@place:/home/user/explicitRedactedPath$ ls tagger
tagger
user@place:/home/user/explicitRedactedPath$ ./tagger arg and other args
-bash: ./tagger: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这个可执行文件必须由生成的脚本调用,这就是我遇到这个问题的方式。出现此错误的原因是什么?我对如何解决它没有想法。

笔记:

  • 操作系统是 Ubuntu
  • 可执行文件是从另一台机器复制的
  • 该文件确实具有执行权限(它会在没有它们的情况下给出适当的不允许的消息)
  • 我试过将文件复制到不同的位置(同样的问题)
  • 我试过用新副本替换文件(同样的问题)
  • 该文件确实存在。用 pico 打开它会显示一个带有二进制数据的文件。

Cra*_*ney 7

该程序是为不兼容的体系结构编译的,导致程序不可执行。说明“不存在”而不是“无效的可执行文件”的错误消息只是一个非常具有误导性的消息。

在目标机器上重新编译它解决了这个问题。