无法执行 .out 文件

无法执行 .out 文件

我最近安装了 Ubuntu 14.04,但无法执行文件夹中的 .out 文件。我正在添加我尝试过的各种命令的输出。

文件名为a_lena.out

$ls -l a_lena.out
-rwxrwxr-x 1 gaurav gaurav 20966 Aug 18 06:52 a_lena.out  

$./a_lena.out
  bash: ./a_lena.out: No such file or directory

$echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

我正在编辑一些配置,例如:如何永久保存亮度设置、在代理上下载 PPA 等。也许我弄乱了系统文件。

如果需要更多信息,请告诉我。

问候,

高拉夫

PS:请为该问题添加合适的标签。

更新

我从朋友那里收到了这个文件,这是我作业的一部分。它是 OpenCV 程序的输出文件。我还没有在我这边编译这个文件。因为它是 OpenCV 程序的输出,所以它应该依赖于 OpenCV 库(我已经在我的计算机上安装了这些文件)。file命令的输出是:

   a_lena.out: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=6f48073f6000de3ec1fccc74bf5d5bbb29d24d6d, not stripped

从讨论中,我直觉地认为该文件需要在我的计算机上编译,并且我不应该期望任何 .out 文件都是可执行的。请再补充一些说明,这样我就不会再犯这种愚蠢的错误了,因为我是个新手。

更新2

的输出ldd是:

not a dynamic executable

的输出dpkg-architecture是:

DEB_BUILD_ARCH=amd64
DEB_BUILD_ARCH_BITS=64
DEB_BUILD_ARCH_CPU=amd64
DEB_BUILD_ARCH_ENDIAN=little
DEB_BUILD_ARCH_OS=linux
DEB_BUILD_GNU_CPU=x86_64
DEB_BUILD_GNU_SYSTEM=linux-gnu
DEB_BUILD_GNU_TYPE=x86_64-linux-gnu
DEB_BUILD_MULTIARCH=x86_64-linux-gnu
DEB_HOST_ARCH=amd64
DEB_HOST_ARCH_BITS=64
DEB_HOST_ARCH_CPU=amd64
DEB_HOST_ARCH_ENDIAN=little
DEB_HOST_ARCH_OS=linux
DEB_HOST_GNU_CPU=x86_64
DEB_HOST_GNU_SYSTEM=linux-gnu
DEB_HOST_GNU_TYPE=x86_64-linux-gnu
DEB_HOST_MULTIARCH=x86_64-linux-gnu

答案1

看到这个问题,你可能会觉得这是不可能的;文件在那里,但 bash 说它不在。所以,只能有一个其他答案 - 该文件需要其他程序来运行,但找不到该程序。

由于这似乎是编译器的输出,我猜测它是在 64 位系统上编译为 32 位动态链接可执行文件;这需要一个辅助程序来运行它,而辅助程序就是没有被找到的程序。

您可以了解有关此内容的更多信息这里

相关内容